on master help sign in
Merge pull request #2554 from MarcAbonce/zh-variants-in-wikipedia
bec9e30Alexandre Flament
searx/engines/wikipedia.py+7−2
@@ -22,6 +22,7 @@ about = {
22# search-url
22# search-url
23search_url = 'https://{language}.wikipedia.org/api/rest_v1/page/summary/{title}'
23search_url = 'https://{language}.wikipedia.org/api/rest_v1/page/summary/{title}'
24supported_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
24supported_languages_url = 'https://meta.wikimedia.org/wiki/List_of_Wikipedias'
25+language_variants = {"zh": ("zh-cn", "zh-hk", "zh-mo", "zh-my", "zh-sg", "zh-tw")}
25
26
26
27
27# set language in base_url
28# set language in base_url
@@ -37,8 +38,12 @@ def request(query, params):
37 if query.islower():
38 if query.islower():
38 query = query.title()
39 query = query.title()
39
40
41+ language = url_lang(params['language'])
40 params['url'] = search_url.format(title=quote(query),
42 params['url'] = search_url.format(title=quote(query),
41− language=url_lang(params['language']))
43+ language=language)
44+
45+ if params['language'].lower() in language_variants.get(language, []):
46+ params['headers']['Accept-Language'] = params['language'].lower()
42
47
43 params['headers']['User-Agent'] = searx_useragent()
48 params['headers']['User-Agent'] = searx_useragent()
44 params['raise_for_httperror'] = False
49 params['raise_for_httperror'] = False
@@ -60,7 +65,7 @@ def response(resp):
60 if api_result.get('type') != 'standard':
65 if api_result.get('type') != 'standard':
61 return []
66 return []
62
67
63− title = api_result['title']
68+ title = api_result['displaytitle']
64 wikipedia_link = api_result['content_urls']['desktop']['page']
69 wikipedia_link = api_result['content_urls']['desktop']['page']
65
70
66 results.append({'url': wikipedia_link, 'title': title})
71 results.append({'url': wikipedia_link, 'title': title})