Skip to content
This repository was archived by the owner on Aug 7, 2024. It is now read-only.

Commit 7facf56

Browse files
committed
add support for non-ascii filenames in UploadMediaChunked
1 parent 7126f2b commit 7facf56

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

tests/test_api_30.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1702,6 +1702,18 @@ def testPostUploadMediaChunkedAppend(self):
17021702
self.assertEqual(len(responses.calls), 7)
17031703
self.assertTrue(resp)
17041704

1705+
@responses.activate
1706+
def testPostUploadMediaChunkedAppendNonASCIIFilename(self):
1707+
media_fp, filename, _, _ = twitter.twitter_utils.parse_media_file(
1708+
'testdata/corgi.gif')
1709+
filename = "عَرَبِيّ"
1710+
responses.add(responses.POST, DEFAULT_URL, body='', status=200)
1711+
1712+
resp = self.api._UploadMediaChunkedAppend(media_id=737956420046356480,
1713+
media_fp=media_fp,
1714+
filename=filename)
1715+
self.assertEqual(len(responses.calls), 7)
1716+
17051717
@responses.activate
17061718
def testPostUploadMediaChunkedFinalize(self):
17071719
with open('testdata/post_upload_chunked_FINAL.json') as f:

twitter/api.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1185,7 +1185,7 @@ def _UploadMediaChunkedAppend(self,
11851185
b'',
11861186
str(segment_id).encode('utf-8'),
11871187
boundary,
1188-
'Content-Disposition: form-data; name="media"; filename="{0}"'.format(filename).encode('utf8'),
1188+
'Content-Disposition: form-data; name="media"; filename="{0!r}"'.format(filename).encode('utf8'),
11891189
b'Content-Type: application/octet-stream',
11901190
b'',
11911191
data,

0 commit comments

Comments
 (0)