Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/arch/lister.py
Show First 20 Lines • Show All 436 Lines • ▼ Show 20 Lines | ) -> ArchListerPage: | ||||
} | } | ||||
page.append(package) | page.append(package) | ||||
return page | return 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 = [] | artifacts = {} | ||||
arch_metadata = [] | arch_metadata = {} | ||||
for version in origin["versions"]: | for version in origin["versions"]: | ||||
artifacts.append( | artifacts[version["version"]] = { | ||||
{ | |||||
"version": version["version"], | "version": version["version"], | ||||
"filename": version["filename"], | "filename": version["filename"], | ||||
"url": version["url"], | "url": version["url"], | ||||
"length": version["length"], | "length": version["length"], | ||||
} | } | ||||
) | |||||
arch_metadata.append( | arch_metadata[version["version"]] = { | ||||
{ | |||||
"version": version["version"], | "version": version["version"], | ||||
"name": version["name"], | "name": version["name"], | ||||
"arch": version["arch"], | "arch": version["arch"], | ||||
"repo": version["repo"], | "repo": version["repo"], | ||||
"last_modified": version["last_modified"], | "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": artifacts, | "artifacts": artifacts, | ||||
"arch_metadata": arch_metadata, | "arch_metadata": arch_metadata, | ||||
}, | }, | ||||
) | ) |