Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
page_iterator = paginator.paginate(**operation_parameters)
def sort(item):
if 'Key' in item:
return item['Key']
return item['Prefix']
for page in page_iterator:
locations = sorted(
[i for i in page.get('Contents', []) + page.get('CommonPrefixes', [])], key=sort
)
for item in locations:
if objects or keys:
if 'Key' in item:
yield Key(
bucket,
item['Key'],
size=item.get('Size'),
etag=item.get('ETag'),
last_modified=item.get('LastModified'),
storage_class=item.get('StorageClass'),
service=self,
)
elif objects:
yield Prefix(bucket, item['Prefix'], service=self)
else:
prefix = item['Key'] if 'Key' in item else item['Prefix']
yield 's3://{}/{}'.format(bucket, prefix)
def _get_key(self, name):
if isinstance(name, Key):
return name
return Key(bucket=self._bucket_name(name), name=self._key_name(name), service=self)
def _get_key(self, name):
if isinstance(name, Key):
return name
return Key(bucket=self._bucket_name(name), name=self._key_name(name), service=self)