summaryrefslogtreecommitdiff
path: root/searx/query.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/query.py')
-rw-r--r--searx/query.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/searx/query.py b/searx/query.py
index 9f711e982..e491284f0 100644
--- a/searx/query.py
+++ b/searx/query.py
@@ -38,6 +38,7 @@ class Query(object):
self.query_parts = []
self.engines = []
self.languages = []
+ self.specific = False
# parse query, if tags are set, which
# change the serch engine or search-language
@@ -77,13 +78,13 @@ class Query(object):
if lang == lang_id\
or lang_id.startswith(lang)\
or lang == lang_name\
- or lang == country:
+ or lang.replace('_', ' ') == country:
parse_next = True
self.languages.append(lang)
break
# this force a engine or category
- if query_part[0] == '!':
+ if query_part[0] == '!' or query_part[0] == '?':
prefix = query_part[1:].replace('_', ' ')
# check if prefix is equal with engine shortcut
@@ -110,6 +111,9 @@ class Query(object):
for engine in categories[prefix]
if engine not in self.blocked_engines)
+ if query_part[0] == '!':
+ self.specific = True
+
# append query part to query_part list
self.query_parts.append(query_part)