Browse Source

[fix] little autocompleter fix

Thomas Pointhuber 10 years ago
parent
commit
c19b0899a4
2 changed files with 6 additions and 4 deletions
  1. 2 2
      searx/autocomplete.py
  2. 4 2
      searx/webapp.py

+ 2 - 2
searx/autocomplete.py

@@ -52,7 +52,7 @@ def searx_bang(full_query):
 
 
             # check if query starts with engine name
             # check if query starts with engine name
             for engine in engines:
             for engine in engines:
-                if engine.startswith(engine_query):
+                if engine.startswith(engine_query.replace('_', ' ')):
                     results.append('!{engine}'.format(engine=engine.replace(' ', '_')))
                     results.append('!{engine}'.format(engine=engine.replace(' ', '_')))
 
 
             # check if query starts with engine shortcut
             # check if query starts with engine shortcut
@@ -86,7 +86,7 @@ def searx_bang(full_query):
                     results.append(':{lang_name}'.format(lang_name=lang_name))
                     results.append(':{lang_name}'.format(lang_name=lang_name))
 
 
                 # check if query starts with country
                 # check if query starts with country
-                if country.startswith(engine_query):
+                if country.startswith(engine_query.replace('_', ' ')):
                     results.append(':{country}'.format(country=country.replace(' ', '_')))
                     results.append(':{country}'.format(country=country.replace(' ', '_')))
 
 
     # remove duplicates
     # remove duplicates

+ 4 - 2
searx/webapp.py

@@ -355,8 +355,10 @@ def autocompleter():
     # parse searx specific autocompleter results like !bang
     # parse searx specific autocompleter results like !bang
     raw_results = searx_bang(query)
     raw_results = searx_bang(query)
 
 
-    # run autocompletion
-    raw_results.extend(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)
     # parse results (write :language and !engine back to result string)
     results = []
     results = []