commit: b47b8cc2c6cd3c746807a2fe955e956d43556081
parent: d7ea44ab8dd7f728ce19589b48618d7eb1669170
Author: Adam Tauber <asciimoo@gmail.com>
Date: Mon, 12 Jan 2015 14:14:40 +0100
Merge pull request #166 from Cqoicebordel/non-exclusif-bang
Add non exclusif bang
Diffstat:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git 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
@@ -83,7 +84,7 @@ class Query(object):
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)
diff --git a/searx/search.py b/searx/search.py
@@ -373,7 +373,7 @@ class Search(object):
# if engines are calculated from query,
# set categories by using that informations
- if self.engines:
+ if self.engines and query_obj.specific:
self.categories = list(set(engine['category']
for engine in self.engines))