Fix unicode S3 key listing in Python 2

This commit is contained in:
imran 2016-09-04 04:31:03 +06:00
parent ea319698aa
commit 478e791c39
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