import datetime
import re
import time
+import urlparse
import urllib2
import uuid
@register.filter
def remove_category_facet(url, facet):
- facet = urllib2.quote(facet.encode('utf-8'), safe='')
- return re.sub(r'&page=\d+', '', url.replace('&selected_facets=categories_exact:%s' % facet, ''))
-
+ scheme, netloc, path, query, fragment = list(urlparse.urlsplit(str(url)))
+ facet = 'categories_exact:%s' % facet.encode('utf-8')
+ query_string = urlparse.parse_qsl(query)
+ query_string = [x for x in query_string if not (
+ x[0] == 'selected_facets' and x[1] == facet)]
+ query = '&'.join(['%s=%s' % x for x in query_string])
+ url = urlparse.urlunsplit([scheme, netloc, path, query, None])
+ return re.sub(r'&page=\d+', '', url)
@register.filter
def append_tag_facet(url, facet):
facet = urllib2.quote(facet.encode('utf-8'), safe='')
+ if not '?' in url:
+ url = url + '?'
return re.sub(r'&page=\d+', '', url + '&selected_facets=tags_exact:%s' % facet)
@register.filter
def append_category_facet(url, facet):
facet = urllib2.quote(facet.encode('utf-8'), safe='')
+ if not '?' in url:
+ url = url + '?'
return re.sub(r'&page=\d+', '', url + '&selected_facets=categories_exact:%s' % facet)