diff --git a/addons/website_slides/models/slides.py b/addons/website_slides/models/slides.py index dc67ea0de78..a4de9105a1c 100644 --- a/addons/website_slides/models/slides.py +++ b/addons/website_slides/models/slides.py @@ -499,13 +499,12 @@ class Slide(models.Model): try: response = requests.get(base_url, params=data) response.raise_for_status() - content = response.content if content_type == 'json': - result['values'] = json.loads(content) + result['values'] = response.json() elif content_type in ('image', 'pdf'): - result['values'] = base64.b64encode(content) + result['values'] = base64.b64encode(response.content) else: - result['values'] = content + result['values'] = response.content except requests.exceptions.HTTPError as e: result['error'] = e.response.content except requests.exceptions.ConnectionError as e: diff --git a/odoo/addons/test_impex/tests/test_load.py b/odoo/addons/test_impex/tests/test_load.py index d8c7e3d87d5..15331174d53 100644 --- a/odoo/addons/test_impex/tests/test_load.py +++ b/odoo/addons/test_impex/tests/test_load.py @@ -965,7 +965,7 @@ class test_o2m_multiple(ImporterCase): class test_realworld(common.TransactionCase): def test_bigfile(self): - data = json.loads(pkgutil.get_data(self.__module__, 'contacts_big.json')) + data = json.loads(pkgutil.get_data(self.__module__, 'contacts_big.json').decode('utf-8')) result = self.env['res.partner'].load(['name', 'mobile', 'email', 'image'], data) self.assertFalse(result['messages']) self.assertEqual(len(result['ids']), len(data)) @@ -973,7 +973,7 @@ class test_realworld(common.TransactionCase): def test_backlink(self): fnames = ["name", "type", "street", "city", "country_id", "category_id", "supplier", "customer", "is_company", "parent_id"] - data = json.loads(pkgutil.get_data(self.__module__, 'contacts.json')) + data = json.loads(pkgutil.get_data(self.__module__, 'contacts.json').decode('utf-8')) result = self.env['res.partner'].load(fnames, data) self.assertFalse(result['messages']) self.assertEqual(len(result['ids']), len(data)) diff --git a/odoo/http.py b/odoo/http.py index 13404daac1d..72bea6a04ee 100644 --- a/odoo/http.py +++ b/odoo/http.py @@ -597,7 +597,7 @@ class JsonRequest(WebRequest): request = self.session.pop('jsonp_request_%s' % (request_id,), '{}') else: # regular jsonrpc2 - request = self.httprequest.stream.read() + request = self.httprequest.stream.read().decode(self.httprequest.charset) # Read POST content or POST Form Data named "request" try: