소스 검색

[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)