on master help sign in
[fix] real support of non wikipedia style mediawikis
commit909424e1e5fc3f7c3a7089d8a4ddae84e56db8dd authorAdam Tauber <asciimoo@gmail.com> dateMon 8 Feb 2016, 21:51 (11 years ago) parent250777e
1 file changed+11−8
searx/engines/mediawiki.py+11−8
searx/engines/mediawiki.py+11−8
@@ -24,13 +24,13 @@ number_of_results = 1
2424
2525# search-url
2626base_url = 'https://{language}.wikipedia.org/'
27−search_url = base_url + 'w/api.php?action=query'\
28− '&list=search'\
29− '&{query}'\
30− '&srprop=timestamp'\
31− '&format=json'\
32− '&sroffset={offset}'\
33− '&srlimit={limit}' # noqa
27+search_postfix = 'w/api.php?action=query'\
28+ '&list=search'\
29+ '&{query}'\
30+ '&srprop=timestamp'\
31+ '&format=json'\
32+ '&sroffset={offset}'\
33+ '&srlimit={limit}'
3434
3535
3636# do search-request
@@ -48,12 +48,15 @@ def request(query, params):
4848 else:
4949 language = params['language'].split('_')[0]
5050
51− if len(format_strings) > 1:
51+ # format_string [('https://', 'language', '', None), ('.wikipedia.org/', None, None, None)]
52+ if any(x[1] == 'language' for x in format_strings):
5253 string_args['language'] = language
5354
5455 # write search-language back to params, required in response
5556 params['language'] = language
5657
58+ search_url = base_url + search_postfix
59+
5760 params['url'] = search_url.format(**string_args)
5861
5962 return params