Skip to content

Small adaptations to make swh.storage compatible with both swh.mode v6 and (future) v7

Adapt the some SkippedContent handling pieces of code to make swh.storage compatible with both swh.model v6 (in which BaseContent.hashes() returns a generic dict which values can be None for SkippedContent) to future v7 (in which BaseContent.hashes() returns a ContentId typed dict).

To do so we:

  • Explicitly convert BaseContent.hashes() as dict,
  • fix test_replay (removal of funky length management in MultiHash),
  • adapt tests and one Postgresql storage method to make it compatible with ContentId (used to return a "total" dict which values can be None, it's now a non-total dict which values are byte).

This is needed to help a small swh.model (future) evolution that will make these methods return TypedDict instead of raw dicts.

A future revision will come to improve code annotations of skipped content methods once swh.model v7 is published.

Merge request reports