diff options
Diffstat (limited to 'scripts/news.py')
-rw-r--r-- | scripts/news.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/news.py b/scripts/news.py new file mode 100644 index 0000000..ca9dfb4 --- /dev/null +++ b/scripts/news.py @@ -0,0 +1,25 @@ +import template +import plugin +import string +import os + +class NewsPlugin: + def __init__(self): + newspath = os.path.join(template.path, 'news') + newsfiles = [ os.path.join(newspath, entry) for entry in sorted(os.listdir(newspath)) ] + + self._news = [] + for newsfile in reversed(newsfiles): + self._news.append(open(newsfile, 'r').read()) + + def process_content(self, page_content): + return_value = {} + for filename, content in page_content.iteritems(): + template = string.Template(content) + return_value[filename] = template.safe_substitute( + news = ''.join(self._news), + latest_news = ''.join(self._news[:3]), + ) + return return_value + +plugin.plugin_manager.register(NewsPlugin()) |