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