Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/package/npm.py
Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | class NpmLoader(PackageLoader): | ||||
def build_revision( | def build_revision( | ||||
self, a_metadata: Dict, uncompressed_path: str) -> Dict: | self, a_metadata: Dict, uncompressed_path: str) -> Dict: | ||||
i_metadata = extract_intrinsic_metadata(uncompressed_path) | i_metadata = extract_intrinsic_metadata(uncompressed_path) | ||||
# from intrinsic metadata | # from intrinsic metadata | ||||
author = extract_npm_package_author(i_metadata) | author = extract_npm_package_author(i_metadata) | ||||
# extrinsic metadata | # extrinsic metadata | ||||
version = i_metadata['version'] | version = i_metadata['version'] | ||||
date = self.info['time'][version] | |||||
date = self.info['time'].get(version) | |||||
# To deal with more specific version referenced in package.json | |||||
if not date: | |||||
date = self.info['time'][a_metadata['version']] | |||||
date = iso8601.parse_date(date) | date = iso8601.parse_date(date) | ||||
date = normalize_timestamp(int(date.timestamp())) | date = normalize_timestamp(int(date.timestamp())) | ||||
message = version.encode('ascii') | message = version.encode('ascii') | ||||
return { | return { | ||||
'type': 'tar', | 'type': 'tar', | ||||
'message': message, | 'message': message, | ||||
'author': author, | 'author': author, | ||||
▲ Show 20 Lines • Show All 198 Lines • Show Last 20 Lines |