Merge pull request #692 from imran2140/fix-unicode-s3-key-listing

Fix unicode S3 key listing in Python 2
This commit is contained in:
Steve Pulec 2016-09-13 21:54:28 -04:00 committed by GitHub
commit 4d9a0f7dc6
2 changed files with 7 additions and 3 deletions

View File

@ -46,6 +46,9 @@ def metadata_from_headers(headers):
def clean_key_name(key_name):
if six.PY2:
return unquote(key_name.encode('utf-8')).decode('utf-8')
return unquote(key_name)

View File

@ -846,9 +846,10 @@ def test_unicode_key():
key = Key(bucket)
key.key = u'こんにちは.jpg'
key.set_contents_from_string('Hello world!')
list(bucket.list())
key = bucket.get_key(key.key)
assert key.get_contents_as_string().decode("utf-8") == 'Hello world!'
assert [listed_key.key for listed_key in bucket.list()] == [key.key]
fetched_key = bucket.get_key(key.key)
assert fetched_key.key == key.key
assert fetched_key.get_contents_as_string().decode("utf-8") == 'Hello world!'
@mock_s3