diff --git a/swh/loader/package/nixguix/loader.py b/swh/loader/package/nixguix/loader.py --- a/swh/loader/package/nixguix/loader.py +++ b/swh/loader/package/nixguix/loader.py @@ -42,8 +42,11 @@ self.sources = s['sources'] self.provider_url = url - self._integrityByUrl = {s['urls'][0]: s['integrity'] - for s in self.sources} + self._integrityByUrl = { + s['urls'][0]: s['integrity'] + for s in self.sources + if 'integrity' in s + } # The revision used to create the sources.json file. For Nix, # this revision belongs to the github.com/nixos/nixpkgs @@ -77,7 +80,10 @@ -> Optional[bytes]: for rev_id, known_artifact in known_artifacts.items(): - known_integrity = known_artifact['extrinsic']['raw']['integrity'] + raw = known_artifact['extrinsic']['raw'] + if 'integrity' not in raw: + return None # old snapshot format + known_integrity = raw['integrity'] if artifact_metadata['integrity'] == known_integrity: return rev_id return None