in oss-torch-connector/osstorchconnector/_oss_bucket_iterable.py [0:0]
def __iter__(self) -> Iterator[DataObject]:
# This allows us to iterate multiple times by re-creating the `_list_stream`
if self._object_uris is not None:
log.info("OssBucketIterable get iter by object uris")
self._data_objects = [new_data_object(uri, 0, "") for uri in self._object_uris]
return iter(OssBucketObjectsIterator(self._client, self._data_objects, self._preload))
elif self._manifest_file_path is not None and self._manifest_parser is not None:
log.info("OssBucketIterable get iter by manifest file: %s", self._manifest_file_path)
self._data_objects = self._get_data_object_by_manifest()
return iter(OssBucketObjectsIterator(self._client, self._data_objects, self._preload))
elif self._oss_uri is not None:
log.info("OssBucketIterable get iter by oss prefix: %s", self._oss_uri)
return iter(OssBucketPrefixIterator(self._client, self._oss_uri, self._preload))
else:
log.error("OssBucketIterable get iter failed")
return None