|
|
|
@ -23,7 +23,7 @@ about = {
|
|
|
|
|
# engine dependent config
|
|
|
|
|
categories = []
|
|
|
|
|
paging = True
|
|
|
|
|
supported_languages_url = 'https://qwant.com/region'
|
|
|
|
|
supported_languages_url = about['website']
|
|
|
|
|
|
|
|
|
|
category_to_keyword = {'general': 'web',
|
|
|
|
|
'images': 'images',
|
|
|
|
@ -125,15 +125,15 @@ def response(resp):
|
|
|
|
|
def _fetch_supported_languages(resp):
|
|
|
|
|
# list of regions is embedded in page as a js object
|
|
|
|
|
response_text = resp.text
|
|
|
|
|
response_text = response_text[response_text.find('regionalisation'):]
|
|
|
|
|
response_text = response_text[response_text.find('{'):response_text.find(');')]
|
|
|
|
|
response_text = response_text[response_text.find('INITIAL_PROPS'):]
|
|
|
|
|
response_text = response_text[response_text.find('{'):response_text.find('</script>')]
|
|
|
|
|
|
|
|
|
|
regions_json = loads(response_text)
|
|
|
|
|
|
|
|
|
|
supported_languages = {}
|
|
|
|
|
for lang in regions_json['languages'].values():
|
|
|
|
|
for country in lang['countries']:
|
|
|
|
|
lang_code = "{lang}-{country}".format(lang=lang['code'], country=country)
|
|
|
|
|
supported_languages[lang_code] = {'name': lang['name']}
|
|
|
|
|
supported_languages = []
|
|
|
|
|
for country, langs in regions_json['locales'].items():
|
|
|
|
|
for lang in langs['langs']:
|
|
|
|
|
lang_code = "{lang}-{country}".format(lang=lang, country=country)
|
|
|
|
|
supported_languages.append(lang_code)
|
|
|
|
|
|
|
|
|
|
return supported_languages
|
|
|
|
|