on master help sign in
[fix] never pass bangs to autocomplete suggestions
40272b0Marc Abonce Seguin
searx/autocomplete.py+4
@@ -16,6 +16,7 @@ along with searx. If not, see < http://www.gnu.org/licenses/ >.
16'''
16'''
17
17
18
18
19+import sys
19from lxml import etree
20from lxml import etree
20from json import loads
21from json import loads
21from searx import settings
22from searx import settings
@@ -26,6 +27,9 @@ from searx.engines import (
26from searx.poolrequests import get as http_get
27from searx.poolrequests import get as http_get
27from searx.url_utils import urlencode
28from searx.url_utils import urlencode
28
29
30+if sys.version_info[0] == 3:
31+ unicode = str
32+
29
33
30def get(*args, **kwargs):
34def get(*args, **kwargs):
31 if 'timeout' not in kwargs:
35 if 'timeout' not in kwargs:
searx/webapp.py+5−2
@@ -636,8 +636,11 @@ def autocompleter():
636 # parse searx specific autocompleter results like !bang
636 # parse searx specific autocompleter results like !bang
637 raw_results = searx_bang(raw_text_query)
637 raw_results = searx_bang(raw_text_query)
638
638
639− # normal autocompletion results only appear if max 3 inner results returned
639+ # normal autocompletion results only appear if no inner results returned
640+ # and there is a query part besides the engine and language bangs
640− if len(raw_results) <= 3 and completer:
641+ if len(raw_results) == 0 and completer and (len(raw_text_query.query_parts) > 1 or
642+ (len(raw_text_query.languages) == 0 and
643+ not raw_text_query.specific)):
641 # get language from cookie
644 # get language from cookie
642 language = request.preferences.get_value('language')
645 language = request.preferences.get_value('language')
643 if not language or language == 'all':
646 if not language or language == 'all':