on master help sign in
[fix] "!wp !wp test" send only one request to wikipedia.
7d8000dDalf
searx/search.py+9
@@ -198,6 +198,13 @@ def default_request_params():
198 }
198 }
199
199
200
200
201+# remove duplicate queries.
202+# FIXME: does not fix "!music !soundcloud", because the categories are 'none' and 'music'
203+def deduplicate_query_engines(query_engines):
204+ uniq_query_engines = {q["category"] + '|' + q["name"]: q for q in query_engines}
205+ return uniq_query_engines.values()
206+
207+
201def get_search_query_from_webapp(preferences, form):
208def get_search_query_from_webapp(preferences, form):
202 # no text for the query ?
209 # no text for the query ?
203 if not form.get('q'):
210 if not form.get('q'):
@@ -328,6 +335,8 @@ def get_search_query_from_webapp(preferences, form):
328 for engine in categories[categ]
335 for engine in categories[categ]
329 if (engine.name, categ) not in disabled_engines)
336 if (engine.name, categ) not in disabled_engines)
330
337
338+ query_engines = deduplicate_query_engines(query_engines)
339+
331 return (SearchQuery(query, query_engines, query_categories,
340 return (SearchQuery(query, query_engines, query_categories,
332 query_lang, query_safesearch, query_pageno, query_time_range),
341 query_lang, query_safesearch, query_pageno, query_time_range),
333 raw_text_query)
342 raw_text_query)