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)) \ if not entry.startswith('.') ] 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[:2]), ) return return_value plugin.plugin_manager.register(NewsPlugin())