diff options
Diffstat (limited to 'searx/query.py')
| -rw-r--r-- | searx/query.py | 8 |
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) |