diff --git a/PKG-INFO b/PKG-INFO index 064c9cb1781d73092a8aa3530672edb7de9aecf1..e64ece76688e735e99bfc5f05278259220baf817 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: swh.model -Version: 0.6.0 +Version: 0.6.1 Summary: Software Heritage data model Home-page: https://forge.softwareheritage.org/diffusion/DMOD/ Author: Software Heritage developers diff --git a/debian/changelog b/debian/changelog index 4ac092373dd1af7be6ac8a3d2ff33f1817137e50..233eae508e019221565175b562132084aa8507b3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,8 +1,15 @@ -swh-model (0.6.0-1~swh1~bpo10+1) buster-swh; urgency=medium - - * Rebuild for buster-swh - - -- Software Heritage autobuilder (on jenkins-debian1) <jenkins@jenkins-debian1.internal.softwareheritage.org> Mon, 20 Jul 2020 10:50:54 +0000 +swh-model (0.6.1-1~swh1) unstable-swh; urgency=medium + + * New upstream release 0.6.1 - (tagged by Valentin Lorentz + <vlorentz@softwareheritage.org> on 2020-07-31 10:47:56 +0200) + * Upstream changes: - v0.6.1 - * Declare pytest markers - + * Import Mapping from collections.abc instead of collections - * + Fix incorrectly typed null constants in extra_headers byte strings + - * add ImmutableDict.__repr__ - * Add missing object_type class + attributes on MetadataAuthority, MetadataFetcher, and + RawExtrinsicMetadata. + + -- Software Heritage autobuilder (on jenkins-debian1) <jenkins@jenkins-debian1.internal.softwareheritage.org> Fri, 31 Jul 2020 08:51:42 +0000 swh-model (0.6.0-1~swh1) unstable-swh; urgency=medium diff --git a/swh.model.egg-info/PKG-INFO b/swh.model.egg-info/PKG-INFO index 064c9cb1781d73092a8aa3530672edb7de9aecf1..e64ece76688e735e99bfc5f05278259220baf817 100644 --- a/swh.model.egg-info/PKG-INFO +++ b/swh.model.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: swh.model -Version: 0.6.0 +Version: 0.6.1 Summary: Software Heritage data model Home-page: https://forge.softwareheritage.org/diffusion/DMOD/ Author: Software Heritage developers diff --git a/swh/model/collections.py b/swh/model/collections.py index 38d28a329de2e02c5077da83a20001a4b38513c7..5fd8f68221564efab463ce694bf972cc39ca52c6 100644 --- a/swh/model/collections.py +++ b/swh/model/collections.py @@ -26,6 +26,9 @@ class ImmutableDict(Mapping, Generic[KT, VT]): else: self.data = tuple(data) + def __repr__(self): + return f"ImmutableDict({dict(self.data)!r})" + def __getitem__(self, key): for (k, v) in self.data: if k == key: diff --git a/swh/model/merkle.py b/swh/model/merkle.py index bddaa3c7b8b4ca57cfa8bc70e0c5a9f56a73ed7d..0311d9d19dd02ab5cf68378d95a7913ff4b226d2 100644 --- a/swh/model/merkle.py +++ b/swh/model/merkle.py @@ -6,7 +6,7 @@ """Merkle tree data structure""" import abc -import collections +from collections.abc import Mapping from typing import Iterator, List, Set @@ -66,7 +66,7 @@ def deep_update(left, right): """ for key, rvalue in right.items(): - if isinstance(rvalue, collections.Mapping): + if isinstance(rvalue, Mapping): new_lvalue = deep_update(left.get(key, {}), rvalue) left[key] = new_lvalue else: diff --git a/swh/model/model.py b/swh/model/model.py index ff11f1cb2e72cd74dacd6cac54c8b30a131f1595..dd73bf99b6a8f52aca76cee43028f1ebf4e9d424 100644 --- a/swh/model/model.py +++ b/swh/model/model.py @@ -736,6 +736,8 @@ class MetadataAuthority(BaseModel): """Represents an entity that provides metadata about an origin or software artifact.""" + object_type: Final = "metadata_authority" + type = attr.ib(type=MetadataAuthorityType, validator=type_validator()) url = attr.ib(type=str, validator=type_validator()) metadata = attr.ib( @@ -762,6 +764,8 @@ class MetadataFetcher(BaseModel): """Represents a software component used to fetch metadata from a metadata authority, and ingest them into the Software Heritage archive.""" + object_type: Final = "metadata_fetcher" + name = attr.ib(type=str, validator=type_validator()) version = attr.ib(type=str, validator=type_validator()) metadata = attr.ib( @@ -791,6 +795,8 @@ class MetadataTargetType(Enum): @attr.s(frozen=True) class RawExtrinsicMetadata(BaseModel): + object_type: Final = "raw_extrinsic_metadata" + # target object type = attr.ib(type=MetadataTargetType, validator=type_validator()) id = attr.ib(type=Union[str, SWHID], validator=type_validator()) diff --git a/swh/model/tests/test_model.py b/swh/model/tests/test_model.py index b6aa82cb6d081221499ea9e3ad639f28b167c7b8..eb226e5398064d06238883d7beea191a56d78e28 100644 --- a/swh/model/tests/test_model.py +++ b/swh/model/tests/test_model.py @@ -456,7 +456,7 @@ def test_revision_extra_headers_with_headers(): extra_headers = ( (b"header1", b"value1"), (b"header2", b"42"), - (b"header3", b"should I?\u0000"), + (b"header3", b"should I?\x00"), (b"header1", b"again"), ) @@ -479,7 +479,7 @@ def test_revision_extra_headers_in_metadata(): extra_headers = ( (b"header1", b"value1"), (b"header2", b"42"), - (b"header3", b"should I?\u0000"), + (b"header3", b"should I?\x00"), (b"header1", b"again"), ) @@ -501,7 +501,7 @@ def test_revision_extra_headers_as_lists(): extra_headers = ( (b"header1", b"value1"), (b"header2", b"42"), - (b"header3", b"should I?\u0000"), + (b"header3", b"should I?\x00"), (b"header1", b"again"), ) diff --git a/version.txt b/version.txt index a6215ed51cd8a25907e996622351c405808325d5..6ebf82ac7c32ff364a1005eda5ee5dc50229dde2 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v0.6.0-0-g3b2d72c \ No newline at end of file +v0.6.1-0-g08632e7 \ No newline at end of file