summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Abonce Seguin <marc-abonce@mailbox.org>2021-02-08 21:56:45 -0700
committerMarc Abonce Seguin <marc-abonce@mailbox.org>2021-02-08 21:56:45 -0700
commit64e81794fe5336ad6bf4cf4777112f5b6d88a49f (patch)
treeeb19b2b643eba91aa50e6d8c02ab3dba6fecf1d6
parentab8739809c8c5f4c1f12e4b15fa8c61afe30ef9f (diff)
add support for Chinese variants in Wikipedia
-rw-r--r--searx/engines/wikipedia.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/searx/engines/wikipedia.py b/searx/engines/wikipedia.py
index eff301145..c8e589e64 100644
--- a/searx/engines/wikipedia.py
+++ b/searx/engines/wikipedia.py
@@ -22,6 +22,7 @@ about = {
# search-url
search_url = 'https://{language}.wikipedia.org/api/rest_v1/page/summary/{title}'
supported_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
+language_variants = {"zh": ("zh-cn", "zh-hk", "zh-mo", "zh-my", "zh-sg", "zh-tw")}
# set language in base_url
@@ -37,8 +38,12 @@ def request(query, params):
if query.islower():
query = query.title()
+ language = url_lang(params['language'])
params['url'] = search_url.format(title=quote(query),
- language=url_lang(params['language']))
+ language=language)
+
+ if params['language'].lower() in language_variants.get(language, []):
+ params['headers']['Accept-Language'] = params['language'].lower()
params['headers']['User-Agent'] = searx_useragent()
params['raise_for_httperror'] = False
@@ -60,7 +65,7 @@ def response(resp):
if api_result.get('type') != 'standard':
return []
- title = api_result['title']
+ title = api_result['displaytitle']
wikipedia_link = api_result['content_urls']['desktop']['page']
results.append({'url': wikipedia_link, 'title': title})