on master help sign in
[enh] category selection remember
83c39a5asciimoo
searx/templates/search.html+1
@@ -6,4 +6,5 @@
6 {{ category }}: <input type="checkbox" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />
6 {{ category }}: <input type="checkbox" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />
7 {% endfor %}
7 {% endfor %}
8 </p>
8 </p>
9+ <p>remember categories:<input type="checkbox" name="save" checked="checked" /></p>
9</form>
10</form>
searx/webapp.py+3−1
@@ -80,12 +80,14 @@ def index():
80 selected_engines.extend(x.name for x in categories[ccateg])
80 selected_engines.extend(x.name for x in categories[ccateg])
81 query = request.form['q'].encode('utf-8')
81 query = request.form['q'].encode('utf-8')
82 results = search(query, request, selected_engines)
82 results = search(query, request, selected_engines)
83+ remember_categs = True if 'save' in request.form else False
83 if request.form.get('format') == 'json':
84 if request.form.get('format') == 'json':
84 # TODO HTTP headers
85 # TODO HTTP headers
85 return json.dumps({'query': query, 'results': results})
86 return json.dumps({'query': query, 'results': results})
86 template = render('results.html', results=results, q=query.decode('utf-8'), selected_categories=selected_categories)
87 template = render('results.html', results=results, q=query.decode('utf-8'), selected_categories=selected_categories)
87 resp = make_response(template)
88 resp = make_response(template)
89+ if remember_categs:
88− resp.set_cookie('categories', ','.join(selected_categories))
90+ resp.set_cookie('categories', ','.join(selected_categories))
89 return resp
91 return resp
90 return render('index.html')
92 return render('index.html')
91
93