fix Qwant's fetch_languages function

This commit is contained in:
Marc Abonce Seguin 2021-05-02 17:24:28 -07:00
parent 2756e170ce
commit 448bfe6005
2 changed files with 145 additions and 482 deletions

View file

@ -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