@@ -69,6 +69,7 @@ def parse_query(query):
69@app.route('/', methods=['GET', 'POST'])
69@app.route('/', methods=['GET', 'POST'])
70def index():
70def index():
71 global categories
71 global categories
72 if request.method=='POST':
73 if request.method=='POST':
73 request_data = request.form
74 request_data = request.form
@@ -99,11 +100,13 @@ def index():
99 selected_engines.extend({'category': categ, 'name': x.name} for x in categories[categ])
100 selected_engines.extend({'category': categ, 'name': x.name} for x in categories[categ])
101 results, suggestions = search(query, request, selected_engines)
102 results, suggestions = search(query, request, selected_engines)
102 for result in results:
104 for result in results:
103 if len(result['url']) > 74:
105 if len(result['url']) > 74:
104 result['pretty_url'] = result['url'][:35] + '[..]' + result['url'][-35:]
106 result['pretty_url'] = result['url'][:35] + '[..]' + result['url'][-35:]
106 result['pretty_url'] = result['url']
108 result['pretty_url'] = result['url']
107 if request_data.get('format') == 'json':
110 if request_data.get('format') == 'json':
108 return Response(json.dumps({'query': query, 'results': results}), mimetype='application/json')
111 return Response(json.dumps({'query': query, 'results': results}), mimetype='application/json')
109 elif request_data.get('format') == 'csv':
112 elif request_data.get('format') == 'csv':
@@ -114,9 +117,10 @@ def index():
114 for row in results:
117 for row in results:
115 csv.writerow([row[key] for key in keys])
118 csv.writerow([row[key] for key in keys])
116 csv.stream.seek(0)
119 csv.stream.seek(0)
117− response = Response(csv.stream.read(), mimetype='application/csv', )
120+ response = Response(csv.stream.read(), mimetype='application/csv')
118 response.headers.add('Content-Disposition', 'attachment;Filename=searx_-_{0}.csv'.format(query))
121 response.headers.add('Content-Disposition', 'attachment;Filename=searx_-_{0}.csv'.format(query))
119 return response
122 return response
120 template = render('results.html'
124 template = render('results.html'
121 ,results=results
125 ,results=results
122 ,q=request_data['q']
126 ,q=request_data['q']
@@ -126,6 +130,7 @@ def index():
127 resp = make_response(template)
131 resp = make_response(template)
128 resp.set_cookie('categories', ','.join(selected_categories))
132 resp.set_cookie('categories', ','.join(selected_categories))
129 return resp
134 return resp
131@app.route('/favicon.ico', methods=['GET'])
136@app.route('/favicon.ico', methods=['GET'])