Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/arch/lister.py
Show First 20 Lines • Show All 431 Lines • ▼ Show 20 Lines | def get_pages(self) -> Iterator[ArchListerPage]: | ||||
} | } | ||||
page.append(package) | page.append(package) | ||||
yield page | yield page | ||||
def get_origins_from_page(self, page: ArchListerPage) -> Iterator[ListedOrigin]: | def get_origins_from_page(self, page: ArchListerPage) -> Iterator[ListedOrigin]: | ||||
"""Iterate on all arch pages and yield ListedOrigin instances.""" | """Iterate on all arch pages and yield ListedOrigin instances.""" | ||||
assert self.lister_obj.id is not None | assert self.lister_obj.id is not None | ||||
for origin in page: | for origin in page: | ||||
artifacts = [] | |||||
arch_metadata = [] | |||||
for version in origin["versions"]: | |||||
artifacts.append( | |||||
{ | |||||
"version": version["version"], | |||||
"filename": version["filename"], | |||||
"url": version["url"], | |||||
"length": version["length"], | |||||
} | |||||
) | |||||
arch_metadata.append( | |||||
{ | |||||
"version": version["version"], | |||||
"name": version["name"], | |||||
"arch": version["arch"], | |||||
"repo": version["repo"], | |||||
"last_modified": version["last_modified"], | |||||
} | |||||
) | |||||
yield ListedOrigin( | yield ListedOrigin( | ||||
lister_id=self.lister_obj.id, | lister_id=self.lister_obj.id, | ||||
visit_type=self.VISIT_TYPE, | visit_type=self.VISIT_TYPE, | ||||
url=origin["url"], | url=origin["url"], | ||||
last_update=origin["last_modified"], | last_update=origin["last_modified"], | ||||
extra_loader_arguments={ | extra_loader_arguments={ | ||||
"artifacts": origin["versions"], | "artifacts": artifacts, | ||||
"arch_metadata": arch_metadata, | |||||
}, | }, | ||||
) | ) |