Commit 006fe4a18d826ded14e4896ff251c8bece892faf

Authored by Luan
1 parent 4eff79a2

Fixing pop_from_get

Showing 1 changed file with 9 additions and 19 deletions   Show diff stats
src/super_archives/utils/url.py
... ... @@ -12,23 +12,13 @@ def append_to_get(path, query=None, **kwargs):
12 12  
13 13  
14 14 def pop_from_get(path, query=None, **kwargs):
15   - # Getting the path with the query
16   - print query
17   -
18   - current_url = u'{}?{}'.format(
19   - path,
20   - query,
21   - )
  15 + query_dict = dict(urlparse.parse_qsl(query))
22 16 for key, value in kwargs.items():
23   - popitem = u'{}={}'.format(key, value)
24   - if query == popitem:
25   - return path
26   -
27   - if key not in current_url:
28   - return current_url
29   -
30   - first_path, end_path = current_url.split(key)
31   - end_path_without_element = end_path.split(value, 1)
32   - path_list = first_path + end_path_without_element
33   - print path_list
34   - return u''.join(path_list)
  17 + if not query_dict.has_key(key):
  18 + continue
  19 + if query_dict[key] == value:
  20 + del query_dict[key]
  21 + continue
  22 + if not query_dict:
  23 + return u'{}?q='.format(path)
  24 + return u'{}?{}'.format(path, urllib.urlencode(query_dict))
... ...