summaryrefslogtreecommitdiff
path: root/searx/query.py
diff options
context:
space:
mode:
authorAdam Tauber <asciimoo@gmail.com>2018-08-19 13:22:22 +0200
committerGitHub <noreply@github.com>2018-08-19 13:22:22 +0200
commitb75f1b6cc39a94989a74d52eb0f1267c3e3c665e (patch)
treed3bab81ca2071196b1b4223d6d2db7d408b79bf2 /searx/query.py
parente7f7eda18cc69287f30c512a98b4e90453bcd8e7 (diff)
parent931c1bb0f663bc13998f5a78ae7cd9485d37453c (diff)
Merge branch 'master' into patch-2
Diffstat (limited to 'searx/query.py')
-rw-r--r--searx/query.py25
1 files changed, 18 insertions, 7 deletions
diff --git a/searx/query.py b/searx/query.py
index 6e5f2e883..0b5143d39 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] == '?':
@@ -107,14 +111,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[prefix].categories:
+ self.engines.append({'category': engine_category,
+ 'name': prefix,
+ 'from_bang': True})
# check if prefix is equal with categorie name
elif prefix in categories: