Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/fedora/lister.py
Show First 20 Lines • Show All 164 Lines • ▼ Show 20 Lines | def get_origins_from_page(self, page: FedoraPageType) -> Iterator[ListedOrigin]: | ||||
assert self.lister_obj.id is not None | assert self.lister_obj.id is not None | ||||
origins_to_send = set() | origins_to_send = set() | ||||
# iterate on each package's metadata | # iterate on each package's metadata | ||||
for pkg_metadata in page: | for pkg_metadata in page: | ||||
# extract package metadata | # extract package metadata | ||||
package_name = pkg_metadata.name | package_name = pkg_metadata.name | ||||
package_version = pkg_metadata.version | package_version = pkg_metadata.vr | ||||
package_version_split = package_version.split(".") | |||||
if package_version_split[-1].startswith("fc"): | |||||
# remove trailing ".fcXY" in version for the rpm loader to avoid | |||||
# creating multiple releases targeting same directory | |||||
package_version = ".".join(package_version_split[:-1]) | |||||
package_build_time = get_last_modified(pkg_metadata) | package_build_time = get_last_modified(pkg_metadata) | ||||
package_download_path = pkg_metadata.location | package_download_path = pkg_metadata.location | ||||
# build origin url | # build origin url | ||||
origin_url = self.origin_url_for_package(package_name) | origin_url = self.origin_url_for_package(package_name) | ||||
# create package version key as expected by the fedora (rpm) loader | # create package version key as expected by the fedora (rpm) loader | ||||
package_version_key = pkg_metadata.vr | package_version_key = ( | ||||
f"fedora{self.current_release}/{self.current_edition}/" | |||||
f"{package_version}" | |||||
).lower() | |||||
# this is the first time a package is listed | # this is the first time a package is listed | ||||
if origin_url not in self.listed_origins: | if origin_url not in self.listed_origins: | ||||
# create a ListedOrigin object for it that can be later | # create a ListedOrigin object for it that can be later | ||||
# updated with new package versions info | # updated with new package versions info | ||||
self.listed_origins[origin_url] = ListedOrigin( | self.listed_origins[origin_url] = ListedOrigin( | ||||
lister_id=self.lister_obj.id, | lister_id=self.lister_obj.id, | ||||
url=origin_url, | url=origin_url, | ||||
▲ Show 20 Lines • Show All 64 Lines • Show Last 20 Lines |