Browse Source

Merge pull request #1729 from MarcAbonce/fix_tracker_remover

Fix out of range error in tracker remover plugin
Noémi Ványi 5 years ago
parent
commit
147ad504c3
1 changed files with 5 additions and 7 deletions
  1. 5 7
      searx/plugins/tracker_url_remover.py

+ 5 - 7
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