Browse Source

[fix] real support of non wikipedia style mediawikis

Adam Tauber 9 years ago
parent
commit
909424e1e5
1 changed files with 11 additions and 8 deletions
  1. 11 8
      searx/engines/mediawiki.py

+ 11 - 8
searx/engines/mediawiki.py

@@ -24,13 +24,13 @@ number_of_results = 1
 
 
 # search-url
 # search-url
 base_url = 'https://{language}.wikipedia.org/'
 base_url = 'https://{language}.wikipedia.org/'
-search_url = base_url + 'w/api.php?action=query'\
-                                 '&list=search'\
-                                 '&{query}'\
-                                 '&srprop=timestamp'\
-                                 '&format=json'\
-                                 '&sroffset={offset}'\
-                                 '&srlimit={limit}'     # noqa
+search_postfix = 'w/api.php?action=query'\
+    '&list=search'\
+    '&{query}'\
+    '&srprop=timestamp'\
+    '&format=json'\
+    '&sroffset={offset}'\
+    '&srlimit={limit}'
 
 
 
 
 # do search-request
 # do search-request
@@ -48,12 +48,15 @@ def request(query, params):
     else:
     else:
         language = params['language'].split('_')[0]
         language = params['language'].split('_')[0]
 
 
-    if len(format_strings) > 1:
+    # format_string [('https://', 'language', '', None), ('.wikipedia.org/', None, None, None)]
+    if any(x[1] == 'language' for x in format_strings):
         string_args['language'] = language
         string_args['language'] = language
 
 
     # write search-language back to params, required in response
     # write search-language back to params, required in response
     params['language'] = language
     params['language'] = language
 
 
+    search_url = base_url + search_postfix
+
     params['url'] = search_url.format(**string_args)
     params['url'] = search_url.format(**string_args)
 
 
     return params
     return params