diff --git a/searx/plugins/tracker_url_remover.py b/searx/plugins/tracker_url_remover.py index 9e18867b9..33dd621e1 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 diff --git a/searx/templates/oscar/results.html b/searx/templates/oscar/results.html index 9a95265b9..fce7f97d6 100644 --- a/searx/templates/oscar/results.html +++ b/searx/templates/oscar/results.html @@ -22,8 +22,8 @@ {{ _('Try searching for:') }} {% for correction in corrections %} {% endfor %} diff --git a/searx/templates/simple/results.html b/searx/templates/simple/results.html index 770eebe81..8885abc30 100644 --- a/searx/templates/simple/results.html +++ b/searx/templates/simple/results.html @@ -95,13 +95,13 @@ {% for correction in corrections %}
- + {% if timeout_limit %}{% endif %} - +
{% endfor %} diff --git a/searx/webapp.py b/searx/webapp.py index 505e93aea..3bb29140a 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -610,6 +610,12 @@ def index(): 'title': suggestion }, result_container.suggestions) + + correction_urls = list(map(lambda correction: { + 'url': raw_text_query.changeSearchQuery(correction).getFullQuery(), + 'title': correction + }, + result_container.corrections)) # return render( 'results.html', @@ -622,7 +628,7 @@ def index(): advanced_search=advanced_search, suggestions=suggestion_urls, answers=result_container.answers, - corrections=result_container.corrections, + corrections=correction_urls, infoboxes=result_container.infoboxes, paging=result_container.paging, unresponsive_engines=result_container.unresponsive_engines,