summaryrefslogtreecommitdiff
path: root/searx/search.py
diff options
context:
space:
mode:
authorAlexandre Flament <alex@al-f.net>2019-07-27 09:11:03 +0200
committerGitHub <noreply@github.com>2019-07-27 09:11:03 +0200
commit4b56a4bfaa74c64def58f03ecdd78ed884edf4b2 (patch)
tree9e0ddedb39a40dbddc3d36a33870960c8de48d81 /searx/search.py
parente1bb0e33f23f7cf089f24b536283bac67cc09528 (diff)
parent70a01e5f024c8845d6ee049c4d0ebd1bf73625ea (diff)
Merge pull request #1653 from dalf/bug-fixes
Various bug fixes
Diffstat (limited to 'searx/search.py')
-rw-r--r--searx/search.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/searx/search.py b/searx/search.py
index 465b5ce64..1472073bd 100644
--- a/searx/search.py
+++ b/searx/search.py
@@ -198,6 +198,13 @@ def default_request_params():
}
+# remove duplicate queries.
+# FIXME: does not fix "!music !soundcloud", because the categories are 'none' and 'music'
+def deduplicate_query_engines(query_engines):
+ uniq_query_engines = {q["category"] + '|' + q["name"]: q for q in query_engines}
+ return uniq_query_engines.values()
+
+
def get_search_query_from_webapp(preferences, form):
# no text for the query ?
if not form.get('q'):
@@ -328,6 +335,8 @@ def get_search_query_from_webapp(preferences, form):
for engine in categories[categ]
if (engine.name, categ) not in disabled_engines)
+ query_engines = deduplicate_query_engines(query_engines)
+
return (SearchQuery(query, query_engines, query_categories,
query_lang, query_safesearch, query_pageno, query_time_range),
raw_text_query)