Fixes for some S3 Unicode issues. Closes #158.
This commit is contained in:
parent
90771c1b1c
commit
9024066957
@ -34,10 +34,10 @@ class ResponseObject(object):
|
|||||||
return 404, headers, ""
|
return 404, headers, ""
|
||||||
|
|
||||||
if isinstance(response, six.string_types):
|
if isinstance(response, six.string_types):
|
||||||
return 200, headers, response
|
return 200, headers, response.encode("utf-8")
|
||||||
else:
|
else:
|
||||||
status_code, headers, response_content = response
|
status_code, headers, response_content = response
|
||||||
return status_code, headers, response_content
|
return status_code, headers, response_content.encode("utf-8")
|
||||||
|
|
||||||
def _bucket_response(self, request, full_url, headers):
|
def _bucket_response(self, request, full_url, headers):
|
||||||
parsed_url = urlparse(full_url)
|
parsed_url = urlparse(full_url)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
from six.moves.urllib.request import urlopen
|
from six.moves.urllib.request import urlopen
|
||||||
from six.moves.urllib.error import HTTPError
|
from six.moves.urllib.error import HTTPError
|
||||||
@ -615,3 +617,27 @@ def test_acl_is_ignored_for_now():
|
|||||||
key = bucket.get_key(keyname)
|
key = bucket.get_key(keyname)
|
||||||
|
|
||||||
assert key.get_contents_as_string() == content
|
assert key.get_contents_as_string() == content
|
||||||
|
|
||||||
|
|
||||||
|
@mock_s3
|
||||||
|
def test_unicode_key():
|
||||||
|
conn = boto.connect_s3()
|
||||||
|
bucket = conn.create_bucket('mybucket')
|
||||||
|
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() == 'Hello world!'
|
||||||
|
|
||||||
|
|
||||||
|
@mock_s3
|
||||||
|
def test_unicode_value():
|
||||||
|
conn = boto.connect_s3()
|
||||||
|
bucket = conn.create_bucket('mybucket')
|
||||||
|
key = Key(bucket)
|
||||||
|
key.key = 'some_key'
|
||||||
|
key.set_contents_from_string(u'こんにちは.jpg')
|
||||||
|
list(bucket.list())
|
||||||
|
key = bucket.get_key(key.key)
|
||||||
|
assert key.get_contents_as_string(encoding='utf-8') == u'こんにちは.jpg'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user