make search language handling less strict
languages.py can change, so users may query on a language that is not on the list anymore, even if it is still recognized by a few engines. also made no and nb the same because they seem to return the same, though most engines will only support one or the other.
This commit is contained in:
@@ -94,6 +94,8 @@ def _fetch_supported_languages(resp):
|
||||
options = dom.xpath('//div[@id="limit-languages"]//input')
|
||||
for option in options:
|
||||
code = option.xpath('./@id')[0].replace('_', '-')
|
||||
if code == 'nb':
|
||||
code = 'no'
|
||||
supported_languages.append(code)
|
||||
|
||||
return supported_languages
|
||||
|
||||
@@ -47,6 +47,8 @@ def request(query, params):
|
||||
|
||||
# add language tag if specified
|
||||
if params['language'] != 'all':
|
||||
if params['language'] == 'no' or params['language'].startswith('no-'):
|
||||
params['language'] = params['language'].replace('no', 'nb', 1)
|
||||
if params['language'].find('-') < 0:
|
||||
# tries to get a country code from language
|
||||
for lang in supported_languages:
|
||||
@@ -118,6 +120,8 @@ def _fetch_supported_languages(resp):
|
||||
|
||||
supported_languages = []
|
||||
for lang in regions_json['languages'].values():
|
||||
if lang['code'] == 'nb':
|
||||
lang['code'] = 'no'
|
||||
for country in lang['countries']:
|
||||
supported_languages.append(lang['code'] + '-' + country)
|
||||
|
||||
|
||||
@@ -120,6 +120,8 @@ def _fetch_supported_languages(resp):
|
||||
options = dom.xpath('//div[@id="regions-popup"]//ul/li/a')
|
||||
for option in options:
|
||||
code = option.xpath('./@data-val')[0]
|
||||
if code.startswith('nb-'):
|
||||
code = code.replace('nb', 'no', 1)
|
||||
supported_languages.append(code)
|
||||
|
||||
return supported_languages
|
||||
|
||||
Reference in New Issue
Block a user