瀏覽代碼

[fix] real support of non wikipedia style mediawikis

Adam Tauber 9 年之前
父節點
當前提交
909424e1e5
共有 1 個文件被更改,包括 11 次插入8 次删除
  1. 11
    8
      searx/engines/mediawiki.py

+ 11
- 8
searx/engines/mediawiki.py 查看文件

@@ -24,13 +24,13 @@ number_of_results = 1
24 24
 
25 25
 # search-url
26 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 36
 # do search-request
@@ -48,12 +48,15 @@ def request(query, params):
48 48
     else:
49 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 53
         string_args['language'] = language
53 54
 
54 55
     # write search-language back to params, required in response
55 56
     params['language'] = language
56 57
 
58
+    search_url = base_url + search_postfix
59
+
57 60
     params['url'] = search_url.format(**string_args)
58 61
 
59 62
     return params