mirror of
https://github.com/ceph/s3-tests.git
synced 2025-02-20 01:01:57 +00:00
Use marker when calling list_objects
Previously test_bucket_list_delimiter_not_skip_special failed in nuke_buckets due to not deleting all the keys.
This commit is contained in:
parent
982d15c30e
commit
9d7f8a894d
1 changed files with 20 additions and 8 deletions
|
@ -61,16 +61,28 @@ def get_objects_list(bucket, client=None, prefix=None):
|
||||||
if client == None:
|
if client == None:
|
||||||
client = get_client()
|
client = get_client()
|
||||||
|
|
||||||
if prefix == None:
|
|
||||||
response = client.list_objects(Bucket=bucket)
|
|
||||||
else:
|
|
||||||
response = client.list_objects(Bucket=bucket, Prefix=prefix)
|
|
||||||
objects_list = []
|
objects_list = []
|
||||||
|
marker = None
|
||||||
|
while True:
|
||||||
|
if prefix == None:
|
||||||
|
if marker == None:
|
||||||
|
response = client.list_objects(Bucket=bucket)
|
||||||
|
else:
|
||||||
|
response = client.list_objects(Bucket=bucket, Marker=marker)
|
||||||
|
else:
|
||||||
|
if marker == None:
|
||||||
|
response = client.list_objects(Bucket=bucket, Prefix=prefix)
|
||||||
|
else:
|
||||||
|
response = client.list_objects(Bucket=bucket, Prefix=prefix, Marker=marker)
|
||||||
|
|
||||||
if 'Contents' in response:
|
if 'Contents' in response:
|
||||||
contents = response['Contents']
|
contents = response['Contents']
|
||||||
for obj in contents:
|
for obj in contents:
|
||||||
objects_list.append(obj['Key'])
|
objects_list.append(obj['Key'])
|
||||||
|
|
||||||
|
marker = response.get('NextMarker')
|
||||||
|
if marker == None:
|
||||||
|
break
|
||||||
|
|
||||||
return objects_list
|
return objects_list
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue