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 View File

24
 
24
 
25
 # search-url
25
 # search-url
26
 base_url = 'https://{language}.wikipedia.org/'
26
 base_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}'
34
 
34
 
35
 
35
 
36
 # do search-request
36
 # do search-request
48
     else:
48
     else:
49
         language = params['language'].split('_')[0]
49
         language = params['language'].split('_')[0]
50
 
50
 
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):
52
         string_args['language'] = language
53
         string_args['language'] = language
53
 
54
 
54
     # write search-language back to params, required in response
55
     # write search-language back to params, required in response
55
     params['language'] = language
56
     params['language'] = language
56
 
57
 
58
+    search_url = base_url + search_postfix
59
+
57
     params['url'] = search_url.format(**string_args)
60
     params['url'] = search_url.format(**string_args)
58
 
61
 
59
     return params
62
     return params