diff options
Diffstat (limited to 'scripts/calendar_plugin.py')
-rw-r--r-- | scripts/calendar_plugin.py | 48 |
1 files changed, 0 insertions, 48 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()) |