diff options
author | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2011-03-18 16:11:31 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2011-03-18 16:11:31 -0300 |
commit | 37075e5f3423a69fec03faf31ce2133c55374dfc (patch) | |
tree | 7403d5eefd5f20ab2a496dbbb9d9841b06e2e385 /packages/templatetags/package_extras.py | |
parent | 30b2a1954d5bf63c78fe654a0c0bb98508e2f3e2 (diff) | |
parent | aca7700dd7519d45e677e18b1a0199f3712ce140 (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.py | 19 |
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): |