summaryrefslogtreecommitdiff
path: root/searx/engines/qwant.py
diff options
context:
space:
mode:
authorMarc Abonce Seguin <marc-abonce@mailbox.org>2021-05-02 17:24:28 -0700
committerMarc Abonce Seguin <marc-abonce@mailbox.org>2021-05-02 17:46:40 -0700
commit448bfe6005baabb647bf02c9f24f9c7986b74c2e (patch)
treeee65065051e768de897899a8ab7dceb02c11e8c7 /searx/engines/qwant.py
parent2756e170ce9f378362002d916f09649c350f170e (diff)
fix Qwant's fetch_languages function
Diffstat (limited to 'searx/engines/qwant.py')
-rw-r--r--searx/engines/qwant.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/searx/engines/qwant.py b/searx/engines/qwant.py
index d01dc0acc..fb525843b 100644
--- a/searx/engines/qwant.py
+++ b/searx/engines/qwant.py
@@ -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