From 3288426f2bb4fc52f58ea6422444bc013ce31a8c Mon Sep 17 00:00:00 2001 From: barberj Date: Fri, 20 Apr 2012 23:30:45 -0400 Subject: [PATCH] added unicode strings --- requests/models.py | 2 +- tests/test_requests.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/requests/models.py b/requests/models.py index 75692447..c0d613bb 100644 --- a/requests/models.py +++ b/requests/models.py @@ -348,7 +348,7 @@ class Request(object): else: fn = guess_filename(v) or k fp = v - if isinstance(fp, bytes): + if isinstance(fp, (bytes, str)): fp = StringIO(fp) fields.update({k: (fn, fp.read())}) diff --git a/tests/test_requests.py b/tests/test_requests.py index 43745a56..e8a9d4ee 100755 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -344,6 +344,15 @@ class RequestsTestSuite(TestSetup, TestBaseMixin, unittest.TestCase): post3 = post(url, files={'fname.txt': 'fdata', 'fname2.txt':open(__file__,'rb')}) self.assertEqual(post3.status_code, 200) + post4 = post(url, files={'fname.txt': u'fdata'}) + self.assertEqual(post4.status_code, 200) + + post5 = post(url, files={'file': ('file.txt', 'more fdata')}) + self.assertEqual(post5.status_code, 200) + + post6 = post(url, files={'fname.txt': u'\xe9'}) + self.assertEqual(post6.status_code, 200) + def test_nonzero_evaluation(self): for service in SERVICES: