initial implemention of autocompletion in opensearch.xml

This commit is contained in:
Thomas Pointhuber 2014-03-20 15:39:17 +01:00
parent 360543dec4
commit cc7f3cb617
2 changed files with 21 additions and 5 deletions

View File

@ -6,9 +6,18 @@
<LongName>searx metasearch</LongName>
{% if method == 'get' %}
<Url type="text/html" method="get" template="{{ host }}?q={searchTerms}"/>
<Url type="application/x-suggestions+json" method="get" template="{{ host }}autocompleter">
<Param name="format" value="x-suggestions" />
<Param name="q" value="{searchTerms}" />
</Url>
{% else %}
<Url type="text/html" method="post" template="{{ host }}">
<Param name="q" value="{searchTerms}" />
<Param name="q" value="{searchTerms}" />
</Url>
<!-- TODO, POST REQUEST doesn't work -->
<Url type="application/x-suggestions+json" method="get" template="{{ host }}autocompleter">
<Param name="format" value="x-suggestions" />
<Param name="q" value="{searchTerms}" />
</Url>
{% endif %}
</OpenSearchDescription>

View File

@ -233,10 +233,17 @@ def autocompleter():
# TODO fix XSS-vulnerability, remove test code
autocompleter.querry = request_data.get('q')
autocompleter.results = [autocompleter.querry]
return Response(json.dumps(autocompleter.results),
mimetype='application/json')
autocompleter.results = []
if autocompleter.querry:
autocompleter.results = [autocompleter.querry + "-searx",autocompleter.querry + " asfded",autocompleter.querry + " asdf"]
if request_data.get('format') == 'x-suggestions':
return Response(json.dumps([autocompleter.querry,autocompleter.results]),
mimetype='application/json')
else:
return Response(json.dumps(autocompleter.results),
mimetype='application/json')
@app.route('/preferences', methods=['GET', 'POST'])