on master help sign in
[fix] #47
commit13a27b909e3cdc484be436961d7873bfba0fb395 authorAdam Tauber <asciimoo@gmail.com> dateSat 8 Mar 2014, 14:00 (13 years ago) parent2be94c2
1 file changed+12−4
searx/webapp.py+12−4
searx/webapp.py+12−4
@@ -26,6 +26,7 @@ import json
2626import cStringIO
2727import os
2828
29+from itertools import chain
2930from flask import (
3031 Flask, request, render_template, url_for, Response, make_response,
3132 redirect, send_from_directory
@@ -86,10 +87,17 @@ def get_base_url():
8687
8788
8889def render(template_name, **kwargs):
89− global categories
90− kwargs['categories'] = ['general']
91− kwargs['categories'].extend(x for x in
92− sorted(categories.keys()) if x != 'general')
90+ blocked_engines = request.cookies.get('blocked_engines', '').split(',')
91+ nonblocked_categories = (engines[e].categories
92+ for e in engines
93+ if e not in blocked_engines)
94+ nonblocked_categories = set(chain.from_iterable(nonblocked_categories))
95+ if not 'categories' in kwargs:
96+ kwargs['categories'] = ['general']
97+ kwargs['categories'].extend(x for x in
98+ sorted(categories.keys())
99+ if x != 'general'\
100+ and x in nonblocked_categories)
93101 if not 'selected_categories' in kwargs:
94102 kwargs['selected_categories'] = []
95103 cookie_categories = request.cookies.get('categories', '').split(',')