on master help sign in
Merge pull request #1729 from MarcAbonce/fix_tracker_remover

Fix out of range error in tracker remover plugin

commit147ad504c340727b77b1e23568a29c1daef0df8b authorNoémi Ványi <kvch@users.noreply.github.com> dateThu 24 Oct 2019, 10:33 (7 years ago) parent12f42d1dede46a
1 file changed+5−7
searx/plugins/tracker_url_remover.py+5−7
searx/plugins/tracker_url_remover.py+5−7
@@ -39,16 +39,14 @@ def on_result(request, search, result):
3939 return True
4040 parsed_query = parse_qsl(query)
4141
42− changed = False
42+ changes = 0
4343 for i, (param_name, _) in enumerate(list(parsed_query)):
4444 for reg in regexes:
4545 if reg.match(param_name):
46− parsed_query.pop(i)
47− changed = True
46+ parsed_query.pop(i - changes)
47+ changes += 1
48+ result['parsed_url'] = result['parsed_url']._replace(query=urlencode(parsed_query))
49+ result['url'] = urlunparse(result['parsed_url'])
4850 break
4951
50− if changed:
51− result['parsed_url'] = result['parsed_url']._replace(query=urlencode(parsed_query))
52− result['url'] = urlunparse(result['parsed_url'])
53−
5452 return True