From 8cc529e9a3976e48676676600379ce43f690dd8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9mi=20V=C3=A1nyi?= Date: Thu, 22 Mar 2018 11:02:24 +0100 Subject: forward category to engine without highlighting on the ui --- searx/query.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'searx/query.py') diff --git a/searx/query.py b/searx/query.py index 6e5f2e883..f7543e3e1 100644 --- a/searx/query.py +++ b/searx/query.py @@ -107,14 +107,21 @@ class RawTextQuery(object): # check if prefix is equal with engine shortcut if prefix in engine_shortcuts: parse_next = True - self.engines.append({'category': 'none', - 'name': engine_shortcuts[prefix]}) + engine_name = engine_shortcuts[prefix] + if engine_name in engines: + for engine_category in engines[engine_name].categories: + self.engines.append({'category': engine_category, + 'name': engine_name, + 'from_bang': True}) # check if prefix is equal with engine name elif prefix in engines: parse_next = True - self.engines.append({'category': 'none', - 'name': prefix}) + if prefix in engines: + for engine_category in engines[engine_name].categories: + self.engines.append({'category': engine_category, + 'name': engine_name, + 'from_bang': True}) # check if prefix is equal with categorie name elif prefix in categories: -- cgit v1.2.3 From 772c048d01c7585fd60afca1ce30a1914e6e5b4a Mon Sep 17 00:00:00 2001 From: Marc Abonce Seguin Date: Wed, 28 Feb 2018 22:30:48 -0600 Subject: refactor engine's search language handling Add match_language function in utils to match any user given language code with a list of engine's supported languages. Also add language_aliases dict on each engine to translate standard language codes into the custom codes used by the engine. --- searx/query.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'searx/query.py') diff --git a/searx/query.py b/searx/query.py index 6e5f2e883..6076c2d75 100644 --- a/searx/query.py +++ b/searx/query.py @@ -96,9 +96,13 @@ class RawTextQuery(object): break # user may set a valid, yet not selectable language - if not self.languages and VALID_LANGUAGE_CODE.match(lang): - self.languages.append(lang) - parse_next = True + if VALID_LANGUAGE_CODE.match(lang): + lang_parts = lang.split('-') + if len(lang_parts) > 1: + lang = lang_parts[0].lower() + '-' + lang_parts[1].upper() + if lang not in self.languages: + self.languages.append(lang) + parse_next = True # this force a engine or category if query_part[0] == '!' or query_part[0] == '?': -- cgit v1.2.3 From fb2dba4762541394954b295d60cb255c2785bc65 Mon Sep 17 00:00:00 2001 From: Adam Tauber Date: Wed, 28 Mar 2018 10:07:28 +0200 Subject: [fix] assign the correct variable in query.py - fixes #1253 --- searx/query.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'searx/query.py') diff --git a/searx/query.py b/searx/query.py index f7543e3e1..82a60e64e 100644 --- a/searx/query.py +++ b/searx/query.py @@ -118,9 +118,9 @@ class RawTextQuery(object): elif prefix in engines: parse_next = True if prefix in engines: - for engine_category in engines[engine_name].categories: + for engine_category in engines[prefix].categories: self.engines.append({'category': engine_category, - 'name': engine_name, + 'name': prefix, 'from_bang': True}) # check if prefix is equal with categorie name -- cgit v1.2.3