|
@@ -38,6 +38,7 @@ class Query(object):
|
38
|
38
|
self.query_parts = []
|
39
|
39
|
self.engines = []
|
40
|
40
|
self.languages = []
|
|
41
|
+ self.specific = False
|
41
|
42
|
|
42
|
43
|
# parse query, if tags are set, which
|
43
|
44
|
# change the serch engine or search-language
|
|
@@ -83,7 +84,7 @@ class Query(object):
|
83
|
84
|
break
|
84
|
85
|
|
85
|
86
|
# this force a engine or category
|
86
|
|
- if query_part[0] == '!':
|
|
87
|
+ if query_part[0] == '!' or query_part[0] == '?':
|
87
|
88
|
prefix = query_part[1:].replace('_', ' ')
|
88
|
89
|
|
89
|
90
|
# check if prefix is equal with engine shortcut
|
|
@@ -110,6 +111,9 @@ class Query(object):
|
110
|
111
|
for engine in categories[prefix]
|
111
|
112
|
if engine not in self.blocked_engines)
|
112
|
113
|
|
|
114
|
+ if query_part[0] == '!':
|
|
115
|
+ self.specific = True
|
|
116
|
+
|
113
|
117
|
# append query part to query_part list
|
114
|
118
|
self.query_parts.append(query_part)
|
115
|
119
|
|