mirror of https://github.com/searxng/searxng.git
[fix] engine startpage: fetch_traits() / if lang name unknown by babel
Workflow "Update data - update_engine_traits.py" fails last night [1]. This issue has already been reported by @allendema [2]. [1] https://github.com/searxng/searxng/actions/runs/9278028691/job/25528337485#step:6:168 [2] https://github.com/searxng/searxng/pull/3504/files#r1613559565 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
parent
8713aa6c4b
commit
a20dfbbcbd
|
@ -78,6 +78,7 @@ Startpage's category (for Web-search, News, Videos, ..) is set by
|
||||||
yet implemented.
|
yet implemented.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
# pylint: disable=too-many-statements
|
||||||
|
|
||||||
from typing import TYPE_CHECKING
|
from typing import TYPE_CHECKING
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
@ -88,7 +89,7 @@ from datetime import datetime, timedelta
|
||||||
|
|
||||||
import dateutil.parser
|
import dateutil.parser
|
||||||
import lxml.html
|
import lxml.html
|
||||||
import babel
|
import babel.localedata
|
||||||
|
|
||||||
from searx.utils import extract_text, eval_xpath, gen_useragent
|
from searx.utils import extract_text, eval_xpath, gen_useragent
|
||||||
from searx.network import get # see https://github.com/searxng/searxng/issues/762
|
from searx.network import get # see https://github.com/searxng/searxng/issues/762
|
||||||
|
@ -439,10 +440,12 @@ def fetch_traits(engine_traits: EngineTraits):
|
||||||
|
|
||||||
# get the native name of every language known by babel
|
# get the native name of every language known by babel
|
||||||
|
|
||||||
for lang_code in filter(
|
for lang_code in filter(lambda lang_code: lang_code.find('_') == -1, babel.localedata.locale_identifiers()):
|
||||||
lambda lang_code: lang_code.find('_') == -1, babel.localedata.locale_identifiers() # type: ignore
|
native_name = babel.Locale(lang_code).get_language_name()
|
||||||
):
|
if not native_name:
|
||||||
native_name = babel.Locale(lang_code).get_language_name().lower() # type: ignore
|
print(f"ERROR: language name of startpage's language {lang_code} is unknown by babel")
|
||||||
|
continue
|
||||||
|
native_name = native_name.lower()
|
||||||
# add native name exactly as it is
|
# add native name exactly as it is
|
||||||
catalog_engine2code[native_name] = lang_code
|
catalog_engine2code[native_name] = lang_code
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue