From dede46a2d5ad1504991b05b8edab4d1ffd781f46 Mon Sep 17 00:00:00 2001 From: Marc Abonce Seguin Date: Tue, 22 Oct 2019 23:17:00 -0700 Subject: [PATCH] fix out of range error in tracker remover plugin --- searx/plugins/tracker_url_remover.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/searx/plugins/tracker_url_remover.py b/searx/plugins/tracker_url_remover.py index 9e18867b..33dd621e 100644 --- a/searx/plugins/tracker_url_remover.py +++ b/searx/plugins/tracker_url_remover.py @@ -39,16 +39,14 @@ def on_result(request, search, result): return True parsed_query = parse_qsl(query) - changed = False + changes = 0 for i, (param_name, _) in enumerate(list(parsed_query)): for reg in regexes: if reg.match(param_name): - parsed_query.pop(i) - changed = True + parsed_query.pop(i - changes) + changes += 1 + result['parsed_url'] = result['parsed_url']._replace(query=urlencode(parsed_query)) + result['url'] = urlunparse(result['parsed_url']) break - if changed: - result['parsed_url'] = result['parsed_url']._replace(query=urlencode(parsed_query)) - result['url'] = urlunparse(result['parsed_url']) - return True