[mod] qwant: moved supported_languages to type EngineProperties

"type": "engine_properties"

Supported languages in qwant are locales with a territory tag (aka regions).
Moved `supported_languages` to `EngineProperties.regions`.

Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
Markus Heiser 2022-08-13 17:04:33 +02:00
parent 3b10d63e2f
commit da659123c1
2 changed files with 163 additions and 149 deletions

View file

@ -1397,153 +1397,169 @@
"zh" "zh"
], ],
"qwant": { "qwant": {
"bg-BG": "bg_BG", "languages": {},
"ca-ES": "ca_ES", "regions": {
"cs-CZ": "cs_CZ", "bg-BG": "bg_BG",
"da-DK": "da_DK", "ca-ES": "ca_ES",
"de-AT": "de_AT", "cs-CZ": "cs_CZ",
"de-CH": "de_CH", "da-DK": "da_DK",
"de-DE": "de_DE", "de-AT": "de_AT",
"el-GR": "el_GR", "de-CH": "de_CH",
"en-AU": "en_AU", "de-DE": "de_DE",
"en-CA": "en_CA", "el-GR": "el_GR",
"en-GB": "en_GB", "en-AU": "en_AU",
"en-IE": "en_IE", "en-CA": "en_CA",
"en-MY": "en_MY", "en-GB": "en_GB",
"en-NZ": "en_NZ", "en-IE": "en_IE",
"en-US": "en_US", "en-MY": "en_MY",
"es-AR": "es_AR", "en-NZ": "en_NZ",
"es-CL": "es_CL", "en-US": "en_US",
"es-ES": "es_ES", "es-AR": "es_AR",
"es-MX": "es_MX", "es-CL": "es_CL",
"et-EE": "et_EE", "es-ES": "es_ES",
"fi-FI": "fi_FI", "es-MX": "es_MX",
"fr-BE": "fr_BE", "et-EE": "et_EE",
"fr-CA": "fr_CA", "fi-FI": "fi_FI",
"fr-CH": "fr_CH", "fr-BE": "fr_BE",
"fr-FR": "fr_FR", "fr-CA": "fr_CA",
"hu-HU": "hu_HU", "fr-CH": "fr_CH",
"it-CH": "it_CH", "fr-FR": "fr_FR",
"it-IT": "it_IT", "hu-HU": "hu_HU",
"ko-KR": "ko_KR", "it-CH": "it_CH",
"nb-NO": "nb_NO", "it-IT": "it_IT",
"nl-BE": "nl_BE", "ko-KR": "ko_KR",
"nl-NL": "nl_NL", "nb-NO": "nb_NO",
"pl-PL": "pl_PL", "nl-BE": "nl_BE",
"pt-PT": "pt_PT", "nl-NL": "nl_NL",
"ro-RO": "ro_RO", "pl-PL": "pl_PL",
"sv-SE": "sv_SE", "pt-PT": "pt_PT",
"th-TH": "th_TH", "ro-RO": "ro_RO",
"zh-CN": "zh_CN", "sv-SE": "sv_SE",
"zh-HK": "zh_HK" "th-TH": "th_TH",
"zh-CN": "zh_CN",
"zh-HK": "zh_HK"
},
"type": "engine_properties"
}, },
"qwant images": { "qwant images": {
"bg-BG": "bg_BG", "languages": {},
"ca-ES": "ca_ES", "regions": {
"cs-CZ": "cs_CZ", "bg-BG": "bg_BG",
"da-DK": "da_DK", "ca-ES": "ca_ES",
"de-AT": "de_AT", "cs-CZ": "cs_CZ",
"de-CH": "de_CH", "da-DK": "da_DK",
"de-DE": "de_DE", "de-AT": "de_AT",
"el-GR": "el_GR", "de-CH": "de_CH",
"en-AU": "en_AU", "de-DE": "de_DE",
"en-CA": "en_CA", "el-GR": "el_GR",
"en-GB": "en_GB", "en-AU": "en_AU",
"en-IE": "en_IE", "en-CA": "en_CA",
"en-MY": "en_MY", "en-GB": "en_GB",
"en-NZ": "en_NZ", "en-IE": "en_IE",
"en-US": "en_US", "en-MY": "en_MY",
"es-AR": "es_AR", "en-NZ": "en_NZ",
"es-CL": "es_CL", "en-US": "en_US",
"es-ES": "es_ES", "es-AR": "es_AR",
"es-MX": "es_MX", "es-CL": "es_CL",
"et-EE": "et_EE", "es-ES": "es_ES",
"fi-FI": "fi_FI", "es-MX": "es_MX",
"fr-BE": "fr_BE", "et-EE": "et_EE",
"fr-CA": "fr_CA", "fi-FI": "fi_FI",
"fr-CH": "fr_CH", "fr-BE": "fr_BE",
"fr-FR": "fr_FR", "fr-CA": "fr_CA",
"hu-HU": "hu_HU", "fr-CH": "fr_CH",
"it-CH": "it_CH", "fr-FR": "fr_FR",
"it-IT": "it_IT", "hu-HU": "hu_HU",
"ko-KR": "ko_KR", "it-CH": "it_CH",
"nb-NO": "nb_NO", "it-IT": "it_IT",
"nl-BE": "nl_BE", "ko-KR": "ko_KR",
"nl-NL": "nl_NL", "nb-NO": "nb_NO",
"pl-PL": "pl_PL", "nl-BE": "nl_BE",
"pt-PT": "pt_PT", "nl-NL": "nl_NL",
"ro-RO": "ro_RO", "pl-PL": "pl_PL",
"sv-SE": "sv_SE", "pt-PT": "pt_PT",
"th-TH": "th_TH", "ro-RO": "ro_RO",
"zh-CN": "zh_CN", "sv-SE": "sv_SE",
"zh-HK": "zh_HK" "th-TH": "th_TH",
"zh-CN": "zh_CN",
"zh-HK": "zh_HK"
},
"type": "engine_properties"
}, },
"qwant news": { "qwant news": {
"ca-ES": "ca_ES", "languages": {},
"de-AT": "de_AT", "regions": {
"de-CH": "de_CH", "ca-ES": "ca_ES",
"de-DE": "de_DE", "de-AT": "de_AT",
"en-AU": "en_AU", "de-CH": "de_CH",
"en-CA": "en_CA", "de-DE": "de_DE",
"en-GB": "en_GB", "en-AU": "en_AU",
"en-IE": "en_IE", "en-CA": "en_CA",
"en-MY": "en_MY", "en-GB": "en_GB",
"en-NZ": "en_NZ", "en-IE": "en_IE",
"en-US": "en_US", "en-MY": "en_MY",
"es-AR": "es_AR", "en-NZ": "en_NZ",
"es-CL": "es_CL", "en-US": "en_US",
"es-ES": "es_ES", "es-AR": "es_AR",
"es-MX": "es_MX", "es-CL": "es_CL",
"fr-BE": "fr_BE", "es-ES": "es_ES",
"fr-CA": "fr_CA", "es-MX": "es_MX",
"fr-CH": "fr_CH", "fr-BE": "fr_BE",
"fr-FR": "fr_FR", "fr-CA": "fr_CA",
"it-CH": "it_CH", "fr-CH": "fr_CH",
"it-IT": "it_IT", "fr-FR": "fr_FR",
"nl-BE": "nl_BE", "it-CH": "it_CH",
"nl-NL": "nl_NL", "it-IT": "it_IT",
"pt-PT": "pt_PT" "nl-BE": "nl_BE",
"nl-NL": "nl_NL",
"pt-PT": "pt_PT"
},
"type": "engine_properties"
}, },
"qwant videos": { "qwant videos": {
"bg-BG": "bg_BG", "languages": {},
"ca-ES": "ca_ES", "regions": {
"cs-CZ": "cs_CZ", "bg-BG": "bg_BG",
"da-DK": "da_DK", "ca-ES": "ca_ES",
"de-AT": "de_AT", "cs-CZ": "cs_CZ",
"de-CH": "de_CH", "da-DK": "da_DK",
"de-DE": "de_DE", "de-AT": "de_AT",
"el-GR": "el_GR", "de-CH": "de_CH",
"en-AU": "en_AU", "de-DE": "de_DE",
"en-CA": "en_CA", "el-GR": "el_GR",
"en-GB": "en_GB", "en-AU": "en_AU",
"en-IE": "en_IE", "en-CA": "en_CA",
"en-MY": "en_MY", "en-GB": "en_GB",
"en-NZ": "en_NZ", "en-IE": "en_IE",
"en-US": "en_US", "en-MY": "en_MY",
"es-AR": "es_AR", "en-NZ": "en_NZ",
"es-CL": "es_CL", "en-US": "en_US",
"es-ES": "es_ES", "es-AR": "es_AR",
"es-MX": "es_MX", "es-CL": "es_CL",
"et-EE": "et_EE", "es-ES": "es_ES",
"fi-FI": "fi_FI", "es-MX": "es_MX",
"fr-BE": "fr_BE", "et-EE": "et_EE",
"fr-CA": "fr_CA", "fi-FI": "fi_FI",
"fr-CH": "fr_CH", "fr-BE": "fr_BE",
"fr-FR": "fr_FR", "fr-CA": "fr_CA",
"hu-HU": "hu_HU", "fr-CH": "fr_CH",
"it-CH": "it_CH", "fr-FR": "fr_FR",
"it-IT": "it_IT", "hu-HU": "hu_HU",
"ko-KR": "ko_KR", "it-CH": "it_CH",
"nb-NO": "nb_NO", "it-IT": "it_IT",
"nl-BE": "nl_BE", "ko-KR": "ko_KR",
"nl-NL": "nl_NL", "nb-NO": "nb_NO",
"pl-PL": "pl_PL", "nl-BE": "nl_BE",
"pt-PT": "pt_PT", "nl-NL": "nl_NL",
"ro-RO": "ro_RO", "pl-PL": "pl_PL",
"sv-SE": "sv_SE", "pt-PT": "pt_PT",
"th-TH": "th_TH", "ro-RO": "ro_RO",
"zh-CN": "zh_CN", "sv-SE": "sv_SE",
"zh-HK": "zh_HK" "th-TH": "th_TH",
"zh-CN": "zh_CN",
"zh-HK": "zh_HK"
},
"type": "engine_properties"
}, },
"startpage": { "startpage": {
"af": { "af": {

View file

@ -49,7 +49,7 @@ about = {
# engine dependent config # engine dependent config
categories = [] categories = []
paging = True paging = True
supported_languages_url = about['website'] supported_properties_url = about['website']
qwant_categ = None # web|news|inages|videos qwant_categ = None # web|news|inages|videos
safesearch = True safesearch = True
@ -95,7 +95,7 @@ def request(query, params):
) )
# add quant's locale # add quant's locale
q_locale = get_engine_locale(params['language'], supported_languages, default='en_US') q_locale = get_engine_locale(params['language'], supported_properties['regions'], default='en_US')
params['url'] += '&locale=' + q_locale params['url'] += '&locale=' + q_locale
# add safesearch option # add safesearch option
@ -243,7 +243,7 @@ def response(resp):
return results return results
def _fetch_supported_languages(resp): def _fetch_engine_properties(resp, engine_properties):
text = resp.text text = resp.text
text = text[text.find('INITIAL_PROPS') :] text = text[text.find('INITIAL_PROPS') :]
@ -263,8 +263,6 @@ def _fetch_supported_languages(resp):
q_valid_locales.append(_locale) q_valid_locales.append(_locale)
supported_languages = {}
for q_locale in q_valid_locales: for q_locale in q_valid_locales:
try: try:
locale = babel.Locale.parse(q_locale, sep='_') locale = babel.Locale.parse(q_locale, sep='_')
@ -272,7 +270,7 @@ def _fetch_supported_languages(resp):
print("ERROR: can't determine babel locale of quant's locale %s" % q_locale) print("ERROR: can't determine babel locale of quant's locale %s" % q_locale)
continue continue
# note: supported_languages (dict) # note: engine_properties.regions (dict)
# #
# dict's key is a string build up from a babel.Locale object / the # dict's key is a string build up from a babel.Locale object / the
# notation 'xx-XX' (and 'xx') conforms to SearXNG's locale (and # notation 'xx-XX' (and 'xx') conforms to SearXNG's locale (and
@ -280,6 +278,6 @@ def _fetch_supported_languages(resp):
# the engine. # the engine.
searxng_locale = locale.language + '-' + locale.territory # --> params['language'] searxng_locale = locale.language + '-' + locale.territory # --> params['language']
supported_languages[searxng_locale] = q_locale engine_properties.regions[searxng_locale] = q_locale
return supported_languages return engine_properties