From 0bcd4d2fb0f3bd73dc20e55002114a880157bf48 Mon Sep 17 00:00:00 2001 From: Jakub Roztocil Date: Wed, 25 Sep 2013 00:00:17 +0200 Subject: [PATCH] Fixed a bytes/str issue for Python 3. --- httpie/input.py | 2 +- tests/tests.py | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/httpie/input.py b/httpie/input.py index 5c6a3cf0..beb486c8 100644 --- a/httpie/input.py +++ b/httpie/input.py @@ -596,7 +596,7 @@ def parse_items(items, data=None, headers=None, files=None, params=None): if item.sep in SEP_GROUP_DATA_EMBED_ITEMS: try: with open(os.path.expanduser(value), 'rb') as f: - value = f.read() + value = f.read().decode('utf8') except IOError as e: raise ParseError('%s": %s' % (item.orig, e)) diff --git a/tests/tests.py b/tests/tests.py index a9b69b1d..d967b47c 100755 --- a/tests/tests.py +++ b/tests/tests.py @@ -1242,7 +1242,8 @@ class ItemParsingTest(BaseTestCase): # Parsed data raw_json_embed = data.pop('raw-json-embed') - self.assertDictEqual(raw_json_embed, json.loads(JSON_FILE_CONTENT)) + self.assertDictEqual(raw_json_embed, json.loads( + JSON_FILE_CONTENT.decode('utf8'))) data['string-embed'] = data['string-embed'].strip() self.assertDictEqual(dict(data), { "ed": "", @@ -1260,7 +1261,8 @@ class ItemParsingTest(BaseTestCase): # Parsed file fields self.assertIn('file', files) - self.assertEqual(files['file'][1].read().strip(), FILE_CONTENT) + self.assertEqual(files['file'][1].read().strip().decode('utf8'), + FILE_CONTENT) class ArgumentParserTestCase(unittest.TestCase):