on master help sign in
[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.

commit6bf9c398a7ed5f3fb624f2ea35a9d00fe016811d authorAdam Tauber <asciimoo@gmail.com> dateFri 30 Dec 2016, 18:17 (10 years ago) parent79ceb13
2 files changed+6−3
searx/engines/bing.py+5−2 tests/unit/engines/test_bing.py+1−1
searx/engines/bing.py+5−2
@@ -33,8 +33,11 @@ def request(query, params):
3333 offset = (params['pageno'] - 1) * 10 + 1
3434
3535 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')
3841
3942 search_path = search_string.format(
4043 query=urlencode({'q': query}),
tests/unit/engines/test_bing.py+1−1
@@ -19,7 +19,7 @@ class TestBingEngine(SearxTestCase):
1919
2020 dicto['language'] = 'all'
2121 params = bing.request(query, dicto)
22− self.assertTrue('language' not in params['url'])
22+ self.assertTrue('language' in params['url'])
2323
2424 def test_response(self):
2525 self.assertRaises(AttributeError, bing.response, None)