|
|
@ -110,13 +110,18 @@ def response(resp):
|
|
|
|
|
|
|
|
|
|
|
|
# get supported languages from their site
|
|
|
|
# get supported languages from their site
|
|
|
|
def _fetch_supported_languages(resp):
|
|
|
|
def _fetch_supported_languages(resp):
|
|
|
|
supported_languages = []
|
|
|
|
lang_tags = set()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setmkt = re.compile('setmkt=([^&]*)')
|
|
|
|
dom = html.fromstring(resp.text)
|
|
|
|
dom = html.fromstring(resp.text)
|
|
|
|
options = eval_xpath(dom, '//div[@id="limit-languages"]//input')
|
|
|
|
lang_links = eval_xpath(dom, "//li/a[contains(@href, 'setmkt')]")
|
|
|
|
for option in options:
|
|
|
|
|
|
|
|
code = eval_xpath(option, './@id')[0].replace('_', '-')
|
|
|
|
for a in lang_links:
|
|
|
|
if code == 'nb':
|
|
|
|
href = eval_xpath(a, './@href')[0]
|
|
|
|
code = 'no'
|
|
|
|
match = setmkt.search(href)
|
|
|
|
supported_languages.append(code)
|
|
|
|
l_tag = match.groups()[0]
|
|
|
|
|
|
|
|
_lang, _nation = l_tag.split('-',1)
|
|
|
|
return supported_languages
|
|
|
|
l_tag = _lang.lower() + '-' + _nation.upper()
|
|
|
|
|
|
|
|
lang_tags.add(l_tag)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return list(lang_tags)
|
|
|
|