|
@@ -429,34 +429,29 @@ def autocompleter():
|
429
|
429
|
# run autocompleter
|
430
|
430
|
completer = autocomplete_backends.get(request.cookies.get('autocomplete'))
|
431
|
431
|
|
432
|
|
- # check if valid autocompleter is selected
|
433
|
|
- if not completer:
|
434
|
|
- return '', 400
|
435
|
|
-
|
436
|
432
|
# parse searx specific autocompleter results like !bang
|
437
|
433
|
raw_results = searx_bang(query)
|
438
|
434
|
|
439
|
|
- # normal autocompletion results only appear if max 3. searx results returned
|
440
|
|
- if len(raw_results) <= 3:
|
|
435
|
+ # normal autocompletion results only appear if max 3 inner results returned
|
|
436
|
+ if len(raw_results) <= 3 and completer:
|
441
|
437
|
# run autocompletion
|
442
|
438
|
raw_results.extend(completer(query.getSearchQuery()))
|
443
|
439
|
|
444
|
440
|
# parse results (write :language and !engine back to result string)
|
445
|
441
|
results = []
|
446
|
442
|
for result in raw_results:
|
447
|
|
- result_query = query
|
448
|
|
- result_query.changeSearchQuery(result)
|
|
443
|
+ query.changeSearchQuery(result)
|
449
|
444
|
|
450
|
445
|
# add parsed result
|
451
|
|
- results.append(result_query.getFullQuery())
|
|
446
|
+ results.append(query.getFullQuery())
|
452
|
447
|
|
453
|
448
|
# return autocompleter results
|
454
|
449
|
if request_data.get('format') == 'x-suggestions':
|
455
|
450
|
return Response(json.dumps([query.query, results]),
|
456
|
451
|
mimetype='application/json')
|
457
|
|
- else:
|
458
|
|
- return Response(json.dumps(results),
|
459
|
|
- mimetype='application/json')
|
|
452
|
+
|
|
453
|
+ return Response(json.dumps(results),
|
|
454
|
+ mimetype='application/json')
|
460
|
455
|
|
461
|
456
|
|
462
|
457
|
@app.route('/preferences', methods=['GET', 'POST'])
|