Selaa lähdekoodia

[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 vuotta sitten
vanhempi
commit
6bf9c398a7
2 muutettua tiedostoa jossa 6 lisäystä ja 3 poistoa
  1. 5
    2
      searx/engines/bing.py
  2. 1
    1
      tests/unit/engines/test_bing.py

+ 5
- 2
searx/engines/bing.py Näytä tiedosto

33
     offset = (params['pageno'] - 1) * 10 + 1
33
     offset = (params['pageno'] - 1) * 10 + 1
34
 
34
 
35
     if params['language'] != 'all':
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
     search_path = search_string.format(
42
     search_path = search_string.format(
40
         query=urlencode({'q': query}),
43
         query=urlencode({'q': query}),

+ 1
- 1
tests/unit/engines/test_bing.py Näytä tiedosto

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