summaryrefslogtreecommitdiff
path: root/searx/webapp.py
diff options
context:
space:
mode:
Diffstat (limited to 'searx/webapp.py')
-rw-r--r--searx/webapp.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/searx/webapp.py b/searx/webapp.py
index 6ee9af745..8ed4cc7c1 100644
--- a/searx/webapp.py
+++ b/searx/webapp.py
@@ -46,9 +46,12 @@ from searx.languages import language_codes
from searx.https_rewrite import https_url_rewrite
from searx.search import Search
from searx.query import Query
-from searx.autocomplete import backends as autocomplete_backends
+from searx.autocomplete import searx_bang, backends as autocomplete_backends
+from searx import logger
+logger = logger.getChild('webapp')
+
static_path, templates_path, themes =\
get_themes(settings['themes_path']
if settings.get('themes_path')
@@ -340,17 +343,22 @@ def autocompleter():
# check if search query is set
if not query.getSearchQuery():
- return
+ return '', 400
# run autocompleter
completer = autocomplete_backends.get(request.cookies.get('autocomplete'))
# check if valid autocompleter is selected
if not completer:
- return
+ return '', 400
+
+ # parse searx specific autocompleter results like !bang
+ raw_results = searx_bang(query)
- # run autocompletion
- raw_results = completer(query.getSearchQuery())
+ # normal autocompletion results only appear if max 3. searx results returned
+ if len(raw_results) <= 3:
+ # run autocompletion
+ raw_results.extend(completer(query.getSearchQuery()))
# parse results (write :language and !engine back to result string)
results = []