Changeset View
Changeset View
Standalone View
Standalone View
swh/provenance/origin.py
Show All 11 Lines | def __init__(self, url, revisions, id=None): | ||||
self.url = url | self.url = url | ||||
self.revisions = revisions | self.revisions = revisions | ||||
################################################################################ | ################################################################################ | ||||
################################################################################ | ################################################################################ | ||||
class OriginIterator: | class FileOriginIterator: | ||||
"""Iterator interface.""" | |||||
def __iter__(self): | |||||
pass | |||||
def __next__(self): | |||||
pass | |||||
class FileOriginIterator(OriginIterator): | |||||
"""Iterator over origins present in the given CSV file.""" | """Iterator over origins present in the given CSV file.""" | ||||
def __init__( | def __init__( | ||||
self, filename: str, archive: ArchiveInterface, limit: Optional[int] = None | self, filename: str, archive: ArchiveInterface, limit: Optional[int] = None | ||||
): | ): | ||||
self.file = open(filename) | self.file = open(filename) | ||||
self.limit = limit | self.limit = limit | ||||
# self.mutex = threading.Lock() | |||||
self.archive = archive | self.archive = archive | ||||
def __iter__(self): | def __iter__(self): | ||||
yield from iterate_statuses( | yield from iterate_statuses( | ||||
[Origin(url.strip()) for url in self.file], self.archive, self.limit | [Origin(url.strip()) for url in self.file], self.archive, self.limit | ||||
) | ) | ||||
class ArchiveOriginIterator: | class ArchiveOriginIterator: | ||||
"""Iterator over origins present in the given storage.""" | """Iterator over origins present in the given storage.""" | ||||
def __init__(self, archive: ArchiveInterface, limit: Optional[int] = None): | def __init__(self, archive: ArchiveInterface, limit: Optional[int] = None): | ||||
self.limit = limit | self.limit = limit | ||||
# self.mutex = threading.Lock() | |||||
self.archive = archive | self.archive = archive | ||||
def __iter__(self): | def __iter__(self): | ||||
yield from iterate_statuses( | yield from iterate_statuses( | ||||
self.archive.iter_origins(), self.archive, self.limit | self.archive.iter_origins(), self.archive, self.limit | ||||
) | ) | ||||
▲ Show 20 Lines • Show All 54 Lines • Show Last 20 Lines |