summaryrefslogtreecommitdiff
path: root/packages/templatetags/package_extras.py
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@kiwwwi.com.ar>2011-03-18 16:11:31 -0300
committerNicolás Reynolds <fauno@kiwwwi.com.ar>2011-03-18 16:11:31 -0300
commit37075e5f3423a69fec03faf31ce2133c55374dfc (patch)
tree7403d5eefd5f20ab2a496dbbb9d9841b06e2e385 /packages/templatetags/package_extras.py
parent30b2a1954d5bf63c78fe654a0c0bb98508e2f3e2 (diff)
parentaca7700dd7519d45e677e18b1a0199f3712ce140 (diff)
Merge branch 'master' of git://projects.archlinux.org/archweb
Conflicts: templates/packages/details.html templates/packages/files.html
Diffstat (limited to 'packages/templatetags/package_extras.py')
-rw-r--r--packages/templatetags/package_extras.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/packages/templatetags/package_extras.py b/packages/templatetags/package_extras.py
index d59a5562..dd5b9347 100644
--- a/packages/templatetags/package_extras.py
+++ b/packages/templatetags/package_extras.py
@@ -1,4 +1,9 @@
-import cgi, urllib
+import urllib
+try:
+ from urlparse import parse_qs
+except ImportError:
+ from cgi import parse_qs
+
from django import template
from django.utils.html import escape
@@ -9,15 +14,15 @@ class BuildQueryStringNode(template.Node):
self.sortfield = sortfield
def render(self, context):
- qs = dict(cgi.parse_qsl(context['current_query'][1:]))
- if qs.has_key('sort') and qs['sort'] == self.sortfield:
+ qs = parse_qs(context['current_query'])
+ if qs.has_key('sort') and self.sortfield in qs['sort']:
if self.sortfield.startswith('-'):
- qs['sort'] = self.sortfield[1:]
+ qs['sort'] = [self.sortfield[1:]]
else:
- qs['sort'] = '-' + self.sortfield
+ qs['sort'] = ['-' + self.sortfield]
else:
- qs['sort'] = self.sortfield
- return '?' + urllib.urlencode(qs)
+ qs['sort'] = [self.sortfield]
+ return urllib.urlencode(qs, True)
@register.tag(name='buildsortqs')
def do_buildsortqs(parser, token):