diff options
Diffstat (limited to 'searx/plugins/tracker_url_remover.py')
| -rw-r--r-- | searx/plugins/tracker_url_remover.py | 18 |
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 |