浏览代码

[fix] use english as default language in bing

If no language is specified, bing returns results with multiple languages
for one query which isn't really useful. Setting english as default
insted if nothing.
Adam Tauber 8 年前
父节点
当前提交
6bf9c398a7
共有 2 个文件被更改,包括 6 次插入3 次删除
  1. 5
    2
      searx/engines/bing.py
  2. 1
    1
      tests/unit/engines/test_bing.py

+ 5
- 2
searx/engines/bing.py 查看文件

@@ -33,8 +33,11 @@ def request(query, params):
33 33
     offset = (params['pageno'] - 1) * 10 + 1
34 34
 
35 35
     if params['language'] != 'all':
36
-        query = u'language:{} {}'.format(params['language'].split('-')[0].upper(),
37
-                                         query.decode('utf-8')).encode('utf-8')
36
+        lang = params['language'].split('-')[0].upper()
37
+    else:
38
+        lang = 'EN'
39
+
40
+    query = u'language:{} {}'.format(lang, query.decode('utf-8')).encode('utf-8')
38 41
 
39 42
     search_path = search_string.format(
40 43
         query=urlencode({'q': query}),

+ 1
- 1
tests/unit/engines/test_bing.py 查看文件

@@ -19,7 +19,7 @@ class TestBingEngine(SearxTestCase):
19 19
 
20 20
         dicto['language'] = 'all'
21 21
         params = bing.request(query, dicto)
22
-        self.assertTrue('language' not in params['url'])
22
+        self.assertTrue('language' in params['url'])
23 23
 
24 24
     def test_response(self):
25 25
         self.assertRaises(AttributeError, bing.response, None)