summaryrefslogtreecommitdiff
path: root/searx/plugins/tracker_url_remover.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/plugins/tracker_url_remover.py')
-rw-r--r--searx/plugins/tracker_url_remover.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/searx/plugins/tracker_url_remover.py b/searx/plugins/tracker_url_remover.py
index 2961cd026..f33f7fdfd 100644
--- a/searx/plugins/tracker_url_remover.py
+++ b/searx/plugins/tracker_url_remover.py
@@ -1,6 +1,8 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# pylint: disable=missing-module-docstring
+from __future__ import annotations
+
import re
from urllib.parse import urlunparse, parse_qsl, urlencode
@@ -19,24 +21,24 @@ default_on = True
preference_section = 'privacy'
-def on_result(_request, _search, result):
- if 'parsed_url' not in result:
- return True
+def on_result(_request, _search, result) -> bool:
- query = result['parsed_url'].query
+ parsed_url = getattr(result, "parsed_url", None)
+ if not parsed_url:
+ return True
- if query == "":
+ if parsed_url.query == "":
return True
- parsed_query = parse_qsl(query)
+ parsed_query = parse_qsl(parsed_url.query)
changes = 0
for i, (param_name, _) in enumerate(list(parsed_query)):
for reg in regexes:
if reg.match(param_name):
parsed_query.pop(i - changes)
changes += 1
- result['parsed_url'] = result['parsed_url']._replace(query=urlencode(parsed_query))
- result['url'] = urlunparse(result['parsed_url'])
+ result.parsed_url = result.parsed_url._replace(query=urlencode(parsed_query))
+ result.url = urlunparse(result.parsed_url)
break
return True