on master help sign in
[enh] preferences added
commit1df697305c4fc2e2de980efd41fb0f9a3c002091 authorasciimoo <asciimoo@gmail.com> dateWed 1 Jan 2014, 22:16 (13 years ago) parenta3de9ba
1 file changed+29−10
searx/webapp.py+29−10
searx/webapp.py+29−10
@@ -124,29 +124,47 @@ def index():
124124 response.headers.add('Content-Disposition', 'attachment;Filename=searx_-_{0}.csv'.format('_'.join(query.split())))
125125 return response
126126
127− template = render('results.html'
128− ,results=results
129− ,q=request_data['q']
130− ,selected_categories=selected_categories
131− ,number_of_results=len(results)
132− ,suggestions=suggestions
133− )
134− resp = make_response(template)
135− resp.set_cookie('categories', ','.join(selected_categories))
127+ return render('results.html'
128+ ,results=results
129+ ,q=request_data['q']
130+ ,selected_categories=selected_categories
131+ ,number_of_results=len(results)
132+ ,suggestions=suggestions
133+ )
136134
137− return resp
138135
139136@app.route('/about', methods=['GET'])
140137def about():
141138 global categories
142139 return render('about.html', categs=categories.items())
143140
141+
142+@app.route('/preferences', methods=['GET', 'POST'])
143+def preferences():
144+
145+ if request.method=='POST':
146+ selected_categories = []
147+ for pd_name,pd in request.form.items():
148+ if pd_name.startswith('category_'):
149+ category = pd_name[9:]
150+ if not category in categories:
151+ continue
152+ selected_categories.append(category)
153+ if selected_categories:
154+ template = render('preferences.html', selected_categories=selected_categories)
155+ resp = make_response(template)
156+ resp.set_cookie('categories', ','.join(selected_categories))
157+ return resp
158+ return render('preferences.html')
159+
160+
144161@app.route('/stats', methods=['GET'])
145162def stats():
146163 global categories
147164 stats = get_engines_stats()
148165 return render('stats.html', stats=stats)
149166
167+
150168@app.route('/robots.txt', methods=['GET'])
151169def robots():
152170 return Response("""User-agent: *
@@ -155,6 +173,7 @@ Allow: /about
155173Disallow: /stats
156174""", mimetype='text/plain')
157175
176+
158177@app.route('/opensearch.xml', methods=['GET'])
159178def opensearch():
160179 global opensearch_xml