[enh] category specific engine deactivation - closes #205

This commit is contained in:
Adam Tauber 2015-02-03 18:37:38 +01:00
parent 268e0516ee
commit 1de781a143
7 changed files with 35 additions and 26 deletions

View file

@ -231,7 +231,21 @@ def prettify_url(url):
def get_blocked_engines(engines, cookies):
if 'blocked_engines' not in cookies:
return [engine for engine in engines if engines[engine].disabled]
return [(engine, category) for engine in engines for category in engines.category if engines[engine].disabled]
return [engine for engine in cookies.get('blocked_engines', '').split(',')
if engine in engines]
blocked_engine_strings = cookies.get('blocked_engines', '').split(',')
blocked_engines = []
if not blocked_engine_strings:
return blocked_engines
for engine_string in blocked_engine_strings:
if engine_string.find('__') > -1:
engine, category = engine_string.split('__', 1)
if engine in engines and category in engines[engine].categories:
blocked_engines.append((engine, category))
elif engine_string in engines:
for category in engines[engine_string].categories:
blocked_engines.append((engine_string, category))
return blocked_engines