[marinemap] push by perrygeo...@gmail.com - Adding some useful templatetags to lingcod.common on 2011-10-14 22:32 GMT

0 views
Skip to first unread message

mari...@googlecode.com

unread,
Oct 14, 2011, 6:32:41 PM10/14/11
to marinema...@googlegroups.com
Revision: 8ada220eba87
Author: Matthew Perry <perryg...@gmail.com>
Date: Fri Oct 14 15:33:18 2011
Log: Adding some useful templatetags to lingcod.common
http://code.google.com/p/marinemap/source/detail?r=8ada220eba87

Added:
/lingcod/common/templatetags/percentage.py
/lingcod/common/templatetags/set_var.py

=======================================
--- /dev/null
+++ /lingcod/common/templatetags/percentage.py Fri Oct 14 15:33:18 2011
@@ -0,0 +1,8 @@
+from django import template
+
+register = template.Library()
+
+def percentage(value):
+ return '{0:.0%}'.format(value)
+
+register.filter('percentage', percentage)
=======================================
--- /dev/null
+++ /lingcod/common/templatetags/set_var.py Fri Oct 14 15:33:18 2011
@@ -0,0 +1,28 @@
+from django import template
+
+register = template.Library()
+
+class SetVarNode(template.Node):
+
+ def __init__(self, var_name, var_value):
+ self.var_name = var_name
+ self.var_value = var_value
+
+ def render(self, context):
+ try:
+ value = template.Variable(self.var_value).resolve(context)
+ except template.VariableDoesNotExist:
+ value = ""
+ context[self.var_name] = value
+ return u""
+
+def set_var(parser, token):
+ """
+ {% set <var_name> = <var_value> %}
+ """
+ parts = token.split_contents()
+ if len(parts) < 4:
+ raise template.TemplateSyntaxError("'set' tag must be of the
form: {% set <var_name> = <var_value> %}")
+ return SetVarNode(parts[1], parts[3])
+
+register.tag('set', set_var)

Reply all
Reply to author
Forward
0 new messages