From caf4248216feab18b334f65fd40f637b3021d61a Mon Sep 17 00:00:00 2001 From: Artem Muterko Date: Fri, 13 Jan 2017 12:40:09 +0200 Subject: [PATCH] Fix mediatype string representation --- rest_framework/utils/mediatypes.py | 3 ++- tests/test_negotiation.py | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rest_framework/utils/mediatypes.py b/rest_framework/utils/mediatypes.py index 865c283cc..a55da34dc 100644 --- a/rest_framework/utils/mediatypes.py +++ b/rest_framework/utils/mediatypes.py @@ -50,6 +50,7 @@ def order_by_precedence(media_type_lst): class _MediaType(object): def __init__(self, media_type_str): self.orig = '' if (media_type_str is None) else media_type_str + # import pdb; pdb.set_trace() self.full_type, self.params = parse_header(self.orig.encode(HTTP_HEADER_ENCODING)) self.main_type, sep, self.sub_type = self.full_type.partition('/') @@ -83,5 +84,5 @@ class _MediaType(object): def __str__(self): ret = "%s/%s" % (self.main_type, self.sub_type) for key, val in self.params.items(): - ret += "; %s=%s" % (key, val) + ret += "; %s=%s" % (key, val.decode(HTTP_HEADER_ENCODING)) return ret diff --git a/tests/test_negotiation.py b/tests/test_negotiation.py index e5b9edd46..7e7f578ad 100644 --- a/tests/test_negotiation.py +++ b/tests/test_negotiation.py @@ -72,5 +72,5 @@ class TestAcceptedMediaType(TestCase): assert mediatype.precedence == 1 def test_mediatype_string_representation(self): - mediatype = _MediaType('test/*;foo=bar') - assert str(mediatype) == "test/*; foo=b'bar'" + mediatype = _MediaType('test/*; foo=bar') + assert str(mediatype) == 'test/*; foo=bar'