]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blob - wradmin/genshi.py
600284339c8a80426618396e48fd146472a5b28b
[philipp/winterrodeln/wradmin.git] / wradmin / genshi.py
1 import os
2 import genshi.template
3
4
5 class PylonsHelper:
6     def url(self, controller, action=None):
7         return ''
8
9     def wiki(self, page_title=None):
10         """Creates a link to the specified page in the www.winterrodeln.org wiki"""
11         if page_title is None:
12             page_title = 'Hauptseite'
13         return 'http://www.winterrodeln.org/wiki/' + page_title
14
15     def forum(self, forum=None):
16         """Creates a link to the specified forum. If no id is given, a general link is created."""
17         if forum is None:
18             return 'http://winterrodeln-forum.org/'
19         return 'http://winterrodeln-forum.org/viewforum.php?f={}'.format(forum)
20
21
22 class FakeSession:
23     def has_key(self, key):
24         return False
25
26     def save(self):
27         pass
28
29
30 def render_genshi_template(template, **kwargs):
31     loader = genshi.template.TemplateLoader(os.path.join(os.path.dirname(__file__), 'templates'), auto_reload=True)
32     tmpl = loader.load(template)
33     genshi_kwargs = {'h': PylonsHelper(), 'session': FakeSession()}
34     genshi_kwargs.update(kwargs)
35     return tmpl.generate(**genshi_kwargs).render('html', doctype='html')