commit: 604f32f67276a34a3ead265ff89d3bb807902b26
parent: b9c8039d743376ab134adb3da146519c5353c36c
Author: Adam Tauber <asciimoo@gmail.com>
Date: Fri, 28 Aug 2015 14:51:32 +0200
[fix] bing unicode encode error - fixes #408
Diffstat:
6 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/searx/engines/bing.py b/searx/engines/bing.py
@@ -52,7 +52,7 @@ def request(query, params):
def response(resp):
results = []
- dom = html.fromstring(resp.content)
+ dom = html.fromstring(resp.text)
# parse results
for result in dom.xpath('//div[@class="sa_cc"]'):
diff --git a/searx/engines/bing_images.py b/searx/engines/bing_images.py
@@ -63,7 +63,7 @@ def request(query, params):
def response(resp):
results = []
- dom = html.fromstring(resp.content)
+ dom = html.fromstring(resp.text)
# init regex for yaml-parsing
p = re.compile('({|,)([a-z]+):(")')
diff --git a/searx/engines/bing_news.py b/searx/engines/bing_news.py
@@ -68,7 +68,7 @@ def request(query, params):
def response(resp):
results = []
- rss = etree.fromstring(resp.content)
+ rss = etree.fromstring(resp.text)
ns = rss.nsmap
diff --git a/searx/tests/engines/test_bing.py b/searx/tests/engines/test_bing.py
@@ -29,10 +29,10 @@ class TestBingEngine(SearxTestCase):
self.assertRaises(AttributeError, bing.response, '')
self.assertRaises(AttributeError, bing.response, '[]')
- response = mock.Mock(content='<html></html>')
+ response = mock.Mock(text='<html></html>')
self.assertEqual(bing.response(response), [])
- response = mock.Mock(content='<html></html>')
+ response = mock.Mock(text='<html></html>')
self.assertEqual(bing.response(response), [])
html = """
@@ -54,7 +54,7 @@ class TestBingEngine(SearxTestCase):
</div>
</div>
"""
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 1)
@@ -81,7 +81,7 @@ class TestBingEngine(SearxTestCase):
</div>
</li>
"""
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 1)
diff --git a/searx/tests/engines/test_bing_images.py b/searx/tests/engines/test_bing_images.py
@@ -31,10 +31,10 @@ class TestBingImagesEngine(SearxTestCase):
self.assertRaises(AttributeError, bing_images.response, '')
self.assertRaises(AttributeError, bing_images.response, '[]')
- response = mock.Mock(content='<html></html>')
+ response = mock.Mock(text='<html></html>')
self.assertEqual(bing_images.response(response), [])
- response = mock.Mock(content='<html></html>')
+ response = mock.Mock(text='<html></html>')
self.assertEqual(bing_images.response(response), [])
html = """
@@ -52,7 +52,7 @@ oh:"238",tft:"0",oi:"http://www.image.url/Images/Test%2
</div>
"""
html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing_images.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 1)
@@ -75,7 +75,7 @@ oh:"238",tft:"0",oi:"http://www.image.url/Images/Test%2
style="height:144px;" width="178" height="144"/>
</a>
"""
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing_images.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 0)
@@ -263,7 +263,7 @@ oh:"238",tft:"0",oi:"http://www.image.url/Images/Test%2
</div>
"""
html = html.replace('\r\n', '').replace('\n', '').replace('\r', '')
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing_images.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 10)
diff --git a/searx/tests/engines/test_bing_news.py b/searx/tests/engines/test_bing_news.py
@@ -28,10 +28,10 @@ class TestBingNewsEngine(SearxTestCase):
self.assertRaises(AttributeError, bing_news.response, '')
self.assertRaises(AttributeError, bing_news.response, '[]')
- response = mock.Mock(content='<html></html>')
+ response = mock.Mock(text='<html></html>')
self.assertEqual(bing_news.response(response), [])
- response = mock.Mock(content='<html></html>')
+ response = mock.Mock(text='<html></html>')
self.assertEqual(bing_news.response(response), [])
html = """<?xml version="1.0" encoding="utf-8" ?>
@@ -66,7 +66,7 @@ class TestBingNewsEngine(SearxTestCase):
</item>
</channel>
</rss>""" # noqa
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing_news.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 2)
@@ -105,7 +105,7 @@ class TestBingNewsEngine(SearxTestCase):
</item>
</channel>
</rss>""" # noqa
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing_news.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 1)
@@ -128,11 +128,11 @@ class TestBingNewsEngine(SearxTestCase):
</channel>
</rss>""" # noqa
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
results = bing_news.response(response)
self.assertEqual(type(results), list)
self.assertEqual(len(results), 0)
html = """<?xml version="1.0" encoding="utf-8" ?>gabarge"""
- response = mock.Mock(content=html)
+ response = mock.Mock(text=html)
self.assertRaises(lxml.etree.XMLSyntaxError, bing_news.response, response)