diff options
| author | Markus Heiser <markus.heiser@darmarIT.de> | 2023-04-15 16:10:53 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-15 16:10:53 +0200 |
| commit | 5c8d56e73a1859ac8ad5d433d6f3a02b2709d696 (patch) | |
| tree | b337fbf806d5772c96035eae7b27fcdb0575c397 /searx/engines/wikidata.py | |
| parent | 0adfed195e64c334117576f059b844e28e0d0d34 (diff) | |
| parent | 09295a3fd116130f5c5595e0eea8a7ccbf3a2355 (diff) | |
Merge pull request #2316 from return42/fix-2314-upd-desc
[fix] searxng_extra/update/update_engine_descriptions.py
Diffstat (limited to 'searx/engines/wikidata.py')
| -rw-r--r-- | searx/engines/wikidata.py | 35 |
1 files changed, 20 insertions, 15 deletions
diff --git a/searx/engines/wikidata.py b/searx/engines/wikidata.py index 6ea77f092..b9de67ef9 100644 --- a/searx/engines/wikidata.py +++ b/searx/engines/wikidata.py @@ -18,7 +18,10 @@ from searx.data import WIKIDATA_UNITS from searx.network import post, get from searx.utils import searx_useragent, get_string_replaces_function from searx.external_urls import get_external_url, get_earth_coordinates_url, area_to_osm_zoom -from searx.engines.wikipedia import fetch_traits as _fetch_traits +from searx.engines.wikipedia import ( + fetch_wikimedia_traits, + get_wiki_params, +) from searx.enginelib.traits import EngineTraits if TYPE_CHECKING: @@ -165,17 +168,15 @@ def request(query, params): # wikidata does not support zh-classical (zh_Hans) / zh-TW, zh-HK and zh-CN # mapped to zh - sxng_lang = params['searxng_locale'].split('-')[0] - language = traits.get_language(sxng_lang, 'en') - - query, attributes = get_query(query, language) - logger.debug("request --> language %s // len(attributes): %s", language, len(attributes)) + eng_tag, _wiki_netloc = get_wiki_params(params['searxng_locale'], traits) + query, attributes = get_query(query, eng_tag) + logger.debug("request --> language %s // len(attributes): %s", eng_tag, len(attributes)) params['method'] = 'POST' params['url'] = SPARQL_ENDPOINT_URL params['data'] = {'query': query} params['headers'] = get_headers() - params['language'] = language + params['language'] = eng_tag params['attributes'] = attributes return params @@ -769,12 +770,16 @@ def init(engine_settings=None): # pylint: disable=unused-argument def fetch_traits(engine_traits: EngineTraits): - """Use languages evaluated from :py:obj:`wikipedia.fetch_traits - <searx.engines.wikipedia.fetch_traits>` except zh-classical (zh_Hans) what - is not supported by wikidata.""" - - _fetch_traits(engine_traits) - # wikidata does not support zh-classical (zh_Hans) - engine_traits.languages.pop('zh_Hans') - # wikidata does not have net-locations for the languages + """Uses languages evaluated from :py:obj:`wikipedia.fetch_wikimedia_traits + <searx.engines.wikipedia.fetch_wikimedia_traits>` and removes + + - ``traits.custom['wiki_netloc']``: wikidata does not have net-locations for + the languages and the list of all + + - ``traits.custom['WIKIPEDIA_LANGUAGES']``: not used in the wikipedia engine + + """ + + fetch_wikimedia_traits(engine_traits) engine_traits.custom['wiki_netloc'] = {} + engine_traits.custom['WIKIPEDIA_LANGUAGES'] = [] |