diff options
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/calendar_plugin.py | 48 | ||||
| -rw-r--r-- | scripts/calendar_plugin2.py | 124 | ||||
| -rw-r--r-- | scripts/template.conf | 2 | 
3 files changed, 0 insertions, 174 deletions
| diff --git a/scripts/calendar_plugin.py b/scripts/calendar_plugin.py deleted file mode 100644 index c277a9f..0000000 --- a/scripts/calendar_plugin.py +++ /dev/null @@ -1,48 +0,0 @@ -import template -import plugin -import string -import os - -import locale -from datetime import datetime,timedelta -import jinja2 -import json - -class CalendarPlugin: -    def __init__(self): -        calpath = os.path.join(template.path, 'calendar.json') -        with open(calpath, 'r') as calfile: -            events = json.load(calfile) -        for event in events: -            event['start'] = datetime.strptime(event['start'], '%Y-%m-%dT%H:%M:%S') -            event['end'] = datetime.strptime(event['end'], '%Y-%m-%dT%H:%M:%S') -            event['multiday'] = (event['end'] - event['start']) > timedelta(days=1) -        self.events = sorted(events, key=lambda x:x['start']) -        template_loader = jinja2.FileSystemLoader(searchpath=os.path.join(template.path)) -        self.template_env = jinja2.Environment(loader=template_loader) -        locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') - -    def _get_calendar(self): -        return self.template_env.get_template('calendar.j2').render({ -            'events': self.events, -            'class': 'calendar-main' -        }).encode('utf-8') - -    def _get_calendar_head(self): -        return self.template_env.get_template('calendar_head.j2').render({ -            'events': self.events, -            'class': 'calendar-head', -            'cutoff': datetime.now() + timedelta(days=7) -        }).encode('utf-8') - -    def process_content(self, page_content): -        return_value = {} -        for filename, content in page_content.iteritems(): -            t = string.Template(content) -            return_value[filename] = t.safe_substitute( -                calendar = self._get_calendar(), -                calendar_head = self._get_calendar_head() -            ) -        return return_value - -plugin.plugin_manager.register(CalendarPlugin()) diff --git a/scripts/calendar_plugin2.py b/scripts/calendar_plugin2.py deleted file mode 100644 index 62a68aa..0000000 --- a/scripts/calendar_plugin2.py +++ /dev/null @@ -1,124 +0,0 @@ -import template -import plugin -import string -import os - -import locale -from datetime import datetime,timedelta,date -import jinja2 -import json - -class TabularCalendarPlugin: -    def __init__(self): -        calpath = os.path.join(template.path, 'tabcalendar.json') - -        with open(calpath, 'r') as calfile: -            events = json.load(calfile) -        for event in events: -            event['start'] = datetime.strptime(event['start'], '%Y-%m-%dT%H:%M:%S') -            event['end'] = datetime.strptime(event['end'], '%Y-%m-%dT%H:%M:%S') -            event['multiday'] = (event['end'] - event['start']) > timedelta(days=1) -        events = sorted(events, key=lambda x:x['start']) - -        i = 0 -        for event in events: -            event['id'] = i -            i += 1 - -        first = events[0]['start'] -        last = events[-1]['end'] - -        calendar_start = first - timedelta(days=first.weekday()) -        if calendar_start.month != first.month: -            calendar_start = date(first.year, first.month, 1) -        else: -            calendar_start = date(calendar_start.year, -                                  calendar_start.month, -                                  calendar_start.day) -        calendar_end = last + timedelta(days=6 - last.weekday()) -        if calendar_end.month != last.month: -            calendar_end = date(last.year,last.month,last.day) -            while True: -                next_end = calendar_end + timedelta(days=1) -                if next_end.month != calendar_end.month: -                    break -                calendar_end = next_end -        else: -            calendar_end = date(calendar_end.year, -                                calendar_end.month, -                                calendar_end.day) - -        months = [] -        cur_day = calendar_start -        active_month = None -        active_week = None -        today = date.today() -        while cur_day <= calendar_end: -            cur_month = cur_day.month -            cur_week = cur_day.isocalendar()[1] - -            if cur_month != active_month: -                months.append({ -                    'year': cur_day.year, -                    'month': cur_day.month, -                    'date': date(cur_day.year, cur_day.month, 1), -                    'weeks': [[]] -                }) -                active_week = cur_week -                active_month = cur_month -            if cur_week != active_week: -                months[-1]['weeks'].append([]) -                active_week = cur_week - -            week_list = months[-1]['weeks'][-1] -            week_list.append({ -                    'year': cur_day.year, -                    'month': cur_day.month, -                    'day': cur_day.day, -                    'today': cur_day == today, -                    'weekday': cur_day.weekday(), -                    'events': [] -            }) -            event_list = week_list[-1]['events'] -            day_start = datetime(cur_day.year, cur_day.month, cur_day.day) -            day_end = day_start + timedelta(days=1) - -            for event in events: -                if event['start'] >= day_end \ -                   or event['end'] <= day_start: -                    continue -                event_list.append(event) - -            cur_day += timedelta(days=1) - -        self.months = months -        self.events = events -        template_loader = jinja2.FileSystemLoader(searchpath=os.path.join(template.path)) -        self.template_env = jinja2.Environment(loader=template_loader) -        locale.setlocale(locale.LC_ALL, 'de_DE.UTF-8') - -    def _get_calendar_tabs(self): -        return self.template_env.get_template('tabcalendar.j2').render({ -            'months': self.months, -            'events': self.events, -            'class': 'expanded' -        }).encode('utf-8') - -    def _get_calendar_events(self): -        return self.template_env.get_template('tabcalendar_list.j2').render({ -            'months': self.months, -            'events': self.events, -            'class': 'expanded' -        }).encode('utf-8') - -    def process_content(self, page_content): -        return_value = {} -        for filename, content in page_content.iteritems(): -            t = string.Template(content) -            return_value[filename] = t.safe_substitute( -                tabcalendar_tabs = self._get_calendar_tabs(), -                tabcalendar_events = self._get_calendar_events(), -            ) -        return return_value - -plugin.plugin_manager.register(TabularCalendarPlugin()) diff --git a/scripts/template.conf b/scripts/template.conf index 8e6192a..2f9ee42 100644 --- a/scripts/template.conf +++ b/scripts/template.conf @@ -7,6 +7,4 @@ path = ../template  target = ../public/  [Plugins] -calendar_plugin=load -calendar_plugin2=load  news=load | 
