diff --git a/swh/indexer/rehash.py b/swh/indexer/rehash.py --- a/swh/indexer/rehash.py +++ b/swh/indexer/rehash.py @@ -110,14 +110,19 @@ for contents in utils.grouper(content_ids, self.batch_size_retrieve_content): contents_iter = itertools.tee(contents, 2) try: - content_metadata = self.storage.content_get_metadata( + content_metadata: Dict[ + bytes, List[Dict] + ] = self.storage.content_get_metadata( # noqa [s for s in contents_iter[0]] ) except Exception: self.log.exception("Problem when reading contents metadata.") continue - for content in content_metadata: + for sha1, content_dicts in content_metadata.items(): + if not content_dicts: + continue + content: Dict = content_dicts[0] # Recompute checksums provided in compute_checksums options if self.recompute_checksums: checksums_to_compute = list(self.compute_checksums) @@ -132,11 +137,9 @@ continue try: - raw_content = self.objstorage.get(content["sha1"]) + raw_content = self.objstorage.get(sha1) except ObjNotFoundError: - self.log.warning( - "Content %s not found in objstorage!" % content["sha1"] - ) + self.log.warning("Content %s not found in objstorage!", sha1) continue content_hashes = hashutil.MultiHash.from_data(