summaryrefslogtreecommitdiffstats
path: root/packages/templatetags
diff options
context:
space:
mode:
authoreliott <eliott@cactuswax.net>2007-11-03 03:45:10 -0400
committereliott <eliott@cactuswax.net>2007-11-03 03:45:10 -0400
commit39a548fd2629f3b6383990264b2e331b3aea99fb (patch)
treef68c3156dad5f7814473ceff2461679ddf11a2e8 /packages/templatetags
downloadarchweb-39a548fd2629f3b6383990264b2e331b3aea99fb.tar.gz
archweb-39a548fd2629f3b6383990264b2e331b3aea99fb.zip
Initial import for public release...
Special Note Prior to git import, approx 90% of the code was done by Judd Vinet. Thanks Judd!
Diffstat (limited to 'packages/templatetags')
-rw-r--r--packages/templatetags/__init__.py0
-rw-r--r--packages/templatetags/package_extras.py28
2 files changed, 28 insertions, 0 deletions
diff --git a/packages/templatetags/__init__.py b/packages/templatetags/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/packages/templatetags/__init__.py
diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py
new file mode 100644
index 00000000..8b55221b
--- /dev/null
+++ b/packages/templatetags/package_extras.py
@@ -0,0 +1,28 @@
+from django import template
+
+register = template.Library()
+
+class BuildQueryStringNode(template.Node):
+ def __init__(self, sortfield):
+ self.sortfield = sortfield
+ def render(self, context):
+ qs = context['querystring'].copy()
+ if qs.has_key('sort') and qs['sort'] == self.sortfield:
+ qs['sort'] = '-' + self.sortfield
+ else:
+ qs['sort'] = self.sortfield
+ return '?' + qs.urlencode()
+
+@register.tag(name='buildsortqs')
+def do_buildsortqs(parser, token):
+ try:
+ tagname, sortfield = token.split_contents()
+ except ValueError:
+ raise template.TemplateSyntaxError, "%r tag requires a single argument" % tagname
+ if not (sortfield[0] == sortfield[-1] and sortfield[0] in ('"', "'")):
+ raise template.TemplateSyntaxError, "%r tag's argument should be in quotes" % tagname
+ return BuildQueryStringNode(sortfield[1:-1])
+
+@register.filter(name='space2br')
+def space2br(value):
+ return value.replace(' ', '<br />')