diff --git a/CHANGELOG.md b/CHANGELOG.md index 866a4c5..871effd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## [0.2.6] - Unreleased +- Added `KY` and `MM` to valid prefixes + ## [0.2.5] - 2022-04-10 - Fixed missing `jcs` dependency - Added SubType `NONE` to MT.ISCC to distinquish from SUM diff --git a/docs/changelog.md b/docs/changelog.md index 7ac05dd..871effd 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,6 +1,9 @@ # Changelog -## [0.2.5] - Unreleased +## [0.2.6] - Unreleased +- Added `KY` and `MM` to valid prefixes + +## [0.2.5] - 2022-04-10 - Fixed missing `jcs` dependency - Added SubType `NONE` to MT.ISCC to distinquish from SUM - Added support for deterministic generation of random ISCC-CODEs diff --git a/iscc_core/codec.py b/iscc_core/codec.py index 7100e03..cc6a48d 100644 --- a/iscc_core/codec.py +++ b/iscc_core/codec.py @@ -536,9 +536,11 @@ def iscc_validate(iscc, strict=True): "KM", "KQ", "KU", + "KY", "MA", "ME", "MI", + "MM", "OA", } cleaned = iscc_clean(iscc) diff --git a/tests/build_valid_prefixes.py b/tests/build_valid_prefixes.py index 53548e3..6805e6d 100644 --- a/tests/build_valid_prefixes.py +++ b/tests/build_valid_prefixes.py @@ -21,7 +21,9 @@ def build_valid_prefixes(): for stype in stype_for_mtype[mtype]: digest = ic.encode_header(mtype, stype, 0, 0) base = ic.encode_base32(digest) - prefixes.add(base[:2]) + prefix = base[:2] + prefixes.add(prefix) + print(f"{prefix} -> {ic.MT(mtype).name}-{stype.name}") return sorted(list(prefixes)) diff --git a/tests/test_codec.py b/tests/test_codec.py index 2357c10..d754803 100644 --- a/tests/test_codec.py +++ b/tests/test_codec.py @@ -496,6 +496,10 @@ def test_codec_validate_header_prefix(): ic.iscc_validate(invalid) +def test_codec_validate_iscc_id(): + assert ic.iscc_validate("ISCC:MMAMRVPW22XVU4FR", strict=False) is True + + def test_decode_iscc(): assert ic.iscc_decode("AAAQCAAAAABAAAAA") == (0, 0, 0, 1, b"\x01\x00\x00\x00\x02\x00\x00\x00")