From 131489e8a1f32d5119fbb2a1283827fe6f045c74 Mon Sep 17 00:00:00 2001 From: J08nY Date: Wed, 7 Feb 2024 21:31:00 +0100 Subject: Handle some strict and loose rules after cleanup. --- src/sec_certs/rules.yaml | 5 +++-- src/sec_certs/sample/cc_certificate_id.py | 5 +++-- tests/cc/test_cc_misc.py | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/sec_certs/rules.yaml b/src/sec_certs/rules.yaml index 250c45b9..43a309e1 100644 --- a/src/sec_certs/rules.yaml +++ b/src/sec_certs/rules.yaml @@ -35,13 +35,14 @@ cc_cert_id: # SERTIT-101 US: - "CCEVS-VR-(?:(?PCC)-)?(?:(?PVID)-?)?(?P[0-9]{2})-(?P[0-9]+)" - - "CCEVS-VR-(?:(?PCC)-)?(?:(?PVID)-?)?(?P[0-9]{4,5})-(?P[0-9]{4})?" + - "CCEVS-VR-(?:(?PCC)-)?(?:(?PVID)-?)?(?P[0-9]{4,5})(?:-(?P[0-9]{4}))?" # Examples: # CCEVS-VR-VID10015-2008 # CCEVS-VR-10880-2018 # CCEVS-VR-04-0082 + # CCEVS-VR-VID10318 CA: - - "(?P[0-9]+)[ -](?P[0-9])[ -](?P[0-9]+)(?:-CR|P)?" + - "(?P383)[ -](?P[0-9])[ -](?P[0-9]+)(?:-CR|P)?" - "(?P[0-9]+)[ -](?PEWA|LSS|CCS)(?:[ -](?P[0-9]+))?" # Examples: # 383-4-123-CR diff --git a/src/sec_certs/sample/cc_certificate_id.py b/src/sec_certs/sample/cc_certificate_id.py index 1fb7b046..c2b6daa2 100644 --- a/src/sec_certs/sample/cc_certificate_id.py +++ b/src/sec_certs/sample/cc_certificate_id.py @@ -52,17 +52,18 @@ def DE(meta) -> str: def US(meta) -> str: - year = _parse_year(meta["year"]) counter = meta["counter"] cc = meta.get("cc") vid = meta.get("VID") + year = _parse_year(meta.get("year")) cert_id = "CCEVS-VR" if cc: cert_id += f"-{cc}" if vid: cert_id += f"-{vid}" cert_id += f"-{counter}" - cert_id += f"-{year}" + if year: + cert_id += f"-{year}" return cert_id diff --git a/tests/cc/test_cc_misc.py b/tests/cc/test_cc_misc.py index bf880f95..d67715f8 100644 --- a/tests/cc/test_cc_misc.py +++ b/tests/cc/test_cc_misc.py @@ -23,6 +23,7 @@ def test_canonicalize_de(): def test_canonicalize_us(): + assert canonicalize("CCEVS-VR-VID10015", "US") == "CCEVS-VR-VID-10015" assert canonicalize("CCEVS-VR-VID10015-2008", "US") == "CCEVS-VR-VID-10015-2008" assert canonicalize("CCEVS-VR-10880-2018", "US") == "CCEVS-VR-10880-2018" assert canonicalize("CCEVS-VR-04-0082", "US") == "CCEVS-VR-0082-2004" -- cgit v1.3.1