on master help sign in
adding initial code for backend-part of autocompleter
8abf4abThomas Pointhuber
searx/static/js/searx.js+1−2
@@ -1,8 +1,7 @@
1window.addEvent('domready', function() {
1window.addEvent('domready', function() {
2− new Autocompleter.Request.JSON('q', '/', {
2+ new Autocompleter.Request.JSON('q', '/autocompleter', {
3 postVar:'q',
3 postVar:'q',
4 postData:{
4 postData:{
5− 'autocompleter': 1,
6 'format': 'json'
5 'format': 'json'
7 },
6 },
8 ajaxOptions:{
7 ajaxOptions:{
searx/webapp.py+18
@@ -221,6 +221,24 @@ def about():
221 return render('about.html')
221 return render('about.html')
222
222
223
223
224+@app.route('/autocompleter', methods=['GET', 'POST'])
225+def autocompleter():
226+ """Return autocompleter results"""
227+ request_data = {}
228+
229+ if request.method == 'POST':
230+ request_data = request.form
231+ else:
232+ request_data = request.args
233+
234+ # TODO fix XSS-vulnerability, remove test code
235+ autocompleter.querry = request_data.get('q')
236+ autocompleter.results = [autocompleter.querry]
237+
238+ return Response(json.dumps(autocompleter.results),
239+ mimetype='application/json')
240+
241+
224@app.route('/preferences', methods=['GET', 'POST'])
242@app.route('/preferences', methods=['GET', 'POST'])
225def preferences():
243def preferences():
226 """Render preferences page.
244 """Render preferences page.