Pārlūkot izejas kodu

[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 gadus atpakaļ
vecāks
revīzija
6bf9c398a7
2 mainītis faili ar 6 papildinājumiem un 3 dzēšanām
  1. 5
    2
      searx/engines/bing.py
  2. 1
    1
      tests/unit/engines/test_bing.py

+ 5
- 2
searx/engines/bing.py Parādīt failu

@@ -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 Parādīt failu

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