From 1dc0670c01211a1d1e8b99facea1710949ee506d Mon Sep 17 00:00:00 2001 From: Christian Franke Date: Sat, 8 Oct 2011 16:21:04 +0200 Subject: Add plugin api to template.py, add news plugin --- scripts/news.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 scripts/news.py (limited to 'scripts/news.py') 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()) -- cgit v1.2.1