diff --git a/amadeus/mixins/parser.py b/amadeus/mixins/parser.py index ef498735..68d75e7e 100644 --- a/amadeus/mixins/parser.py +++ b/amadeus/mixins/parser.py @@ -65,6 +65,8 @@ def __parse_body_and_headers(self, http_response, client): self.headers = http_response.info() or self.headers if hasattr(http_response, 'read'): self.body = http_response.read() + if hasattr(self.body, 'decode'): + self.body = self.body.decode('utf8') # Tries to parse the JSON, if there is any def __parse_json(self, client): diff --git a/amadeus/version.py b/amadeus/version.py index 57ec7e16..c84b5886 100644 --- a/amadeus/version.py +++ b/amadeus/version.py @@ -1,2 +1,2 @@ -version_info = (1, 0, '0b6') +version_info = (1, 0, '0b7') version = '.'.join(str(v) for v in version_info) diff --git a/specs/mixins/parser_spec.py b/specs/mixins/parser_spec.py index eab5c7ee..f2949096 100644 --- a/specs/mixins/parser_spec.py +++ b/specs/mixins/parser_spec.py @@ -46,11 +46,11 @@ http_response.getheaders().returns( [('Content-Type', 'plain/text')] ) - http_response.read().returns('Hello World') + http_response.read().returns(u'Hello World') response = Response(http_response, self.request) response._parse(self.client) - expect(response.body).to(be('Hello World')) + expect(response.body).to(equal('Hello World')) expect(response.result).to(be(None)) expect(response.data).to(be(None)) @@ -62,7 +62,7 @@ response = Response(http_response, self.request) response._parse(self.client) - expect(response.body).to(be('Hello World')) + expect(response.body).to(equal('Hello World')) expect(response.result).to(be(None)) expect(response.data).to(be(None))