diff --git a/searx/engines/bing.py b/searx/engines/bing.py index da76f771e..47e8bb66d 100644 --- a/searx/engines/bing.py +++ b/searx/engines/bing.py @@ -223,7 +223,7 @@ def fetch_traits(engine_traits: EngineTraits): 'da': 'dk', # da --> da-dk } - for href in eval_xpath(dom, '//div[@id="language-section"]//li/a/@href'): + for href in eval_xpath(dom, '//div[@id="language-section-content"]//div[@class="languageItem"]/a/@href'): eng_lang = parse_qs(urlparse(href).query)['setlang'][0] babel_lang = map_lang.get(eng_lang, eng_lang) try: @@ -253,7 +253,7 @@ def fetch_traits(engine_traits: EngineTraits): map_market_codes = { 'zh-hk': 'en-hk', # not sure why, but at M$ this is the market code for Hongkong } - for href in eval_xpath(dom, '//div[@id="region-section"]//li/a/@href'): + for href in eval_xpath(dom, '//div[@id="region-section-content"]//div[@class="regionItem"]/a/@href'): cc_tag = parse_qs(urlparse(href).query)['cc'][0] if cc_tag == 'clear': engine_traits.all_locale = cc_tag diff --git a/searx/sxng_locales.py b/searx/sxng_locales.py index 2ff2b2cd6..34b72bf02 100644 --- a/searx/sxng_locales.py +++ b/searx/sxng_locales.py @@ -1,5 +1,5 @@ # SPDX-License-Identifier: AGPL-3.0-or-later -'''List of SearXNG's locale codes. +'''List of SearXNG's locale codes used for the search language/region. .. hint:: diff --git a/searxng_extra/update/update_engine_traits.py b/searxng_extra/update/update_engine_traits.py index 663275950..51b86c39f 100755 --- a/searxng_extra/update/update_engine_traits.py +++ b/searxng_extra/update/update_engine_traits.py @@ -28,7 +28,7 @@ from searx.enginelib.traits import EngineTraitsMap languages_file = Path(searx_dir) / 'sxng_locales.py' languages_file_header = """\ # SPDX-License-Identifier: AGPL-3.0-or-later -'''List of SearXNG's locale codes. +'''List of SearXNG's locale codes used for the search language/region. .. hint:: @@ -101,8 +101,8 @@ def fetch_traits_map(): def filter_locales(traits_map: EngineTraitsMap): """Filter language & region tags by a threshold.""" - min_eng_per_region = 18 - min_eng_per_lang = 20 + min_eng_per_region = 22 + min_eng_per_lang = 24 _ = {} for eng in traits_map.values():