Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/archive/loader.py
Show First 20 Lines • Show All 138 Lines • ▼ Show 20 Lines | ) -> Iterator[Tuple[str, ArchivePackageInfo]]: | ||||
# versioned package | # versioned package | ||||
yield release_name(version), p_info | yield release_name(version), p_info | ||||
def new_packageinfo_to_extid( | def new_packageinfo_to_extid( | ||||
self, p_info: ArchivePackageInfo | self, p_info: ArchivePackageInfo | ||||
) -> Optional[PartialExtID]: | ) -> Optional[PartialExtID]: | ||||
return p_info.extid(manifest_format=self.extid_manifest_format) | return p_info.extid(manifest_format=self.extid_manifest_format) | ||||
def known_artifact_to_extid(self, known_artifact: Dict) -> Optional[PartialExtID]: | |||||
known_artifact_info = ArchivePackageInfo.from_metadata( | |||||
known_artifact["extrinsic"]["raw"] | |||||
) | |||||
return known_artifact_info.extid(manifest_format=self.extid_manifest_format) | |||||
def build_revision( | def build_revision( | ||||
self, p_info: ArchivePackageInfo, uncompressed_path: str, directory: Sha1Git | self, p_info: ArchivePackageInfo, uncompressed_path: str, directory: Sha1Git | ||||
) -> Optional[Revision]: | ) -> Optional[Revision]: | ||||
time = p_info.time # assume it's a timestamp | time = p_info.time # assume it's a timestamp | ||||
if isinstance(time, str): # otherwise, assume it's a parsable date | if isinstance(time, str): # otherwise, assume it's a parsable date | ||||
parsed_time = iso8601.parse_date(time) | parsed_time = iso8601.parse_date(time) | ||||
else: | else: | ||||
parsed_time = time | parsed_time = time | ||||
normalized_time = TimestampWithTimezone.from_datetime(parsed_time) | normalized_time = TimestampWithTimezone.from_datetime(parsed_time) | ||||
return Revision( | return Revision( | ||||
type=RevisionType.TAR, | type=RevisionType.TAR, | ||||
message=REVISION_MESSAGE, | message=REVISION_MESSAGE, | ||||
date=normalized_time, | date=normalized_time, | ||||
author=SWH_PERSON, | author=SWH_PERSON, | ||||
committer=SWH_PERSON, | committer=SWH_PERSON, | ||||
committer_date=normalized_time, | committer_date=normalized_time, | ||||
parents=(), | parents=(), | ||||
directory=directory, | directory=directory, | ||||
synthetic=True, | synthetic=True, | ||||
metadata={ | |||||
"intrinsic": {}, | |||||
"extrinsic": { | |||||
"provider": self.url, | |||||
"when": self.visit_date.isoformat(), | |||||
"raw": p_info.raw_info, | |||||
}, | |||||
}, | |||||
) | ) |