diff --git a/swh/loader/package/loader.py b/swh/loader/package/loader.py --- a/swh/loader/package/loader.py +++ b/swh/loader/package/loader.py @@ -331,6 +331,11 @@ # FIXME: This should be release. cf. D409 revision = self.build_revision( p_info['raw'], uncompressed_path) + if not revision: + # Some artifacts are missing intrinsic metadata + # skipping those + continue + revision.update({ 'synthetic': True, 'directory': directory.hash, diff --git a/swh/loader/package/npm/loader.py b/swh/loader/package/npm/loader.py --- a/swh/loader/package/npm/loader.py +++ b/swh/loader/package/npm/loader.py @@ -77,6 +77,8 @@ def build_revision( self, a_metadata: Dict, uncompressed_path: str) -> Dict: i_metadata = extract_intrinsic_metadata(uncompressed_path) + if not i_metadata: + return {} # from intrinsic metadata author = extract_npm_package_author(i_metadata) message = i_metadata['version'].encode('ascii') diff --git a/swh/loader/package/pypi/loader.py b/swh/loader/package/pypi/loader.py --- a/swh/loader/package/pypi/loader.py +++ b/swh/loader/package/pypi/loader.py @@ -74,6 +74,8 @@ def build_revision( self, a_metadata: Dict, uncompressed_path: str) -> Dict: i_metadata = extract_intrinsic_metadata(uncompressed_path) + if not i_metadata: + return {} # from intrinsic metadata name = i_metadata['version']