Merge remote-tracking branch 'upstream/master' into adding_rds2_support
This commit is contained in:
commit
d350ac438e
@ -333,7 +333,7 @@ class S3Backend(BaseBackend):
|
|||||||
for key_name, key in bucket.keys.items():
|
for key_name, key in bucket.keys.items():
|
||||||
if delimiter and delimiter in key_name:
|
if delimiter and delimiter in key_name:
|
||||||
# If delimiter, we need to split out folder_results
|
# If delimiter, we need to split out folder_results
|
||||||
folder_results.add(key_name.split(delimiter)[0])
|
folder_results.add(key_name.split(delimiter)[0] + delimiter)
|
||||||
else:
|
else:
|
||||||
key_results.add(key)
|
key_results.add(key)
|
||||||
|
|
||||||
|
@ -81,10 +81,13 @@ class ResponseObject(_TemplateEnvironmentMixin):
|
|||||||
|
|
||||||
def _bucket_response_get(self, bucket_name, querystring, headers):
|
def _bucket_response_get(self, bucket_name, querystring, headers):
|
||||||
if 'uploads' in querystring:
|
if 'uploads' in querystring:
|
||||||
for unsup in ('delimiter', 'prefix', 'max-uploads'):
|
for unsup in ('delimiter', 'max-uploads'):
|
||||||
if unsup in querystring:
|
if unsup in querystring:
|
||||||
raise NotImplementedError("Listing multipart uploads with {} has not been implemented yet.".format(unsup))
|
raise NotImplementedError("Listing multipart uploads with {} has not been implemented yet.".format(unsup))
|
||||||
multiparts = list(self.backend.get_all_multiparts(bucket_name).values())
|
multiparts = list(self.backend.get_all_multiparts(bucket_name).values())
|
||||||
|
if 'prefix' in querystring:
|
||||||
|
prefix = querystring.get('prefix', [None])[0]
|
||||||
|
multiparts = [upload for upload in multiparts if upload.key_name.startswith(prefix)]
|
||||||
template = self.response_template(S3_ALL_MULTIPARTS)
|
template = self.response_template(S3_ALL_MULTIPARTS)
|
||||||
return 200, headers, template.render(
|
return 200, headers, template.render(
|
||||||
bucket_name=bucket_name,
|
bucket_name=bucket_name,
|
||||||
|
@ -496,7 +496,7 @@ def test_bucket_key_listing_order():
|
|||||||
# Test delimiter with no prefix
|
# Test delimiter with no prefix
|
||||||
delimiter = '/'
|
delimiter = '/'
|
||||||
keys = [x.name for x in bucket.list(prefix=None, delimiter=delimiter)]
|
keys = [x.name for x in bucket.list(prefix=None, delimiter=delimiter)]
|
||||||
keys.should.equal(['toplevel'])
|
keys.should.equal(['toplevel/'])
|
||||||
|
|
||||||
delimiter = None
|
delimiter = None
|
||||||
keys = [x.name for x in bucket.list(prefix + 'x', delimiter)]
|
keys = [x.name for x in bucket.list(prefix + 'x', delimiter)]
|
||||||
|
@ -272,7 +272,7 @@ def test_bucket_key_listing_order():
|
|||||||
# Test delimiter with no prefix
|
# Test delimiter with no prefix
|
||||||
delimiter = '/'
|
delimiter = '/'
|
||||||
keys = [x.name for x in bucket.list(prefix=None, delimiter=delimiter)]
|
keys = [x.name for x in bucket.list(prefix=None, delimiter=delimiter)]
|
||||||
keys.should.equal(['toplevel'])
|
keys.should.equal(['toplevel/'])
|
||||||
|
|
||||||
delimiter = None
|
delimiter = None
|
||||||
keys = [x.name for x in bucket.list(prefix + 'x', delimiter)]
|
keys = [x.name for x in bucket.list(prefix + 'x', delimiter)]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user