]> ToastFreeware Gitweb - philipp/winterrodeln/wradmin.git/blobdiff - wradmin/template_helper.py
Rename wradmin.genshi to wradmin.template_helper.
[philipp/winterrodeln/wradmin.git] / wradmin / template_helper.py
diff --git a/wradmin/template_helper.py b/wradmin/template_helper.py
new file mode 100644 (file)
index 0000000..446c315
--- /dev/null
@@ -0,0 +1,44 @@
+from flask import url_for
+import wrpylib.wrvalidators
+
+
+class PylonsHelper:
+    def url(self, filename=None, controller=None, action=None, **kwargs):
+        if filename is not None and filename.startswith('/'):
+            filename = filename[1:]
+            return url_for('static', filename=filename)
+        if controller == 'rodelbahn':
+            if action == 'index':
+                return url_for('index')
+        return url_for('{}_{}'.format(controller, action), **kwargs)
+
+    def wiki(self, page_title=None):
+        """Creates a link to the specified page in the www.winterrodeln.org wiki"""
+        if page_title is None:
+            page_title = 'Hauptseite'
+        return 'http://www.winterrodeln.org/wiki/' + page_title
+
+    def forum(self, forum=None):
+        """Creates a link to the specified forum. If no id is given, a general link is created."""
+        if forum is None:
+            return 'http://winterrodeln-forum.org/'
+        return 'http://winterrodeln-forum.org/viewforum.php?f={}'.format(forum)
+
+    def google_maps(self, latitude, longitude):
+        """Builds an URL like http://maps.google.at/maps?q=47.200607,11.260007"""
+        return "http://maps.google.at/maps?q=%.6f,%.6f" % (latitude, longitude)
+
+    def bool(self, value):
+        """Takes a bool value and creates a German representation"""
+        return wrpylib.wrvalidators.opt_bool_german_to_str(value)
+
+    def tristate_tuple(self, yes, no):
+        """Takes a German representation of a tristate value"""
+        return {(True, True): 'Teilweise', (True, False): 'Ja', (False, True): 'Nein'}.get((yes, no), None)
+
+    def tristate_float(self, value):
+        """Takes a German representation of a tristate value"""
+        return wrpylib.wrvalidators.opt_tristate_german_to_str(value)
+
+    def public_transport(self, value):
+        return wrpylib.wrvalidators.opt_public_transport_german_to_str(value)