[enh] better search language selection from query

This commit is contained in:
asciimoo 2014-02-09 11:12:58 +01:00
parent d11a873d40
commit 7c031a3ea6
1 changed files with 12 additions and 3 deletions

View File

@ -79,11 +79,20 @@ class Search(object):
modified = False modified = False
if query_parts[0].startswith(':'): if query_parts[0].startswith(':'):
lang = query_parts[0][1:] lang = query_parts[0][1:]
if lang in (x[0] for x in language_codes):
self.lang = lang for lc in language_codes:
modified = True lang_id, lang_name, country = map(str.lower, lc)
if lang == lang_id\
or lang_id.startswith(lang)\
or lang == lang_name\
or lang == country:
self.lang = lang
modified = True
break
elif query_parts[0].startswith('!'): elif query_parts[0].startswith('!'):
prefix = query_parts[0][1:].replace('_', ' ') prefix = query_parts[0][1:].replace('_', ' ')
if prefix in engine_shortcuts\ if prefix in engine_shortcuts\
and not engine_shortcuts[prefix] in self.blocked_engines: and not engine_shortcuts[prefix] in self.blocked_engines:
modified = True modified = True