diff options
| author | J08nY | 2024-02-03 17:14:17 +0100 |
|---|---|---|
| committer | J08nY | 2024-02-03 17:14:17 +0100 |
| commit | 48876d5979adf8a63e2141262acd16608fc2aeda (patch) | |
| tree | b7ac57c0d532e7f636247d62c4ab0286de282d0a /src | |
| parent | c60fece36b7e7c5300b25cf83b9e34d338675067 (diff) | |
| download | sec-certs-48876d5979adf8a63e2141262acd16608fc2aeda.tar.gz sec-certs-48876d5979adf8a63e2141262acd16608fc2aeda.tar.zst sec-certs-48876d5979adf8a63e2141262acd16608fc2aeda.zip | |
Improve Malaysian rules.
Diffstat (limited to 'src')
| -rw-r--r-- | src/sec_certs/rules.yaml | 6 | ||||
| -rw-r--r-- | src/sec_certs/sample/cc_certificate_id.py | 14 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/sec_certs/rules.yaml b/src/sec_certs/rules.yaml index fa188052..6b63b991 100644 --- a/src/sec_certs/rules.yaml +++ b/src/sec_certs/rules.yaml @@ -60,7 +60,11 @@ cc_cert_id: - "JISEC-CC-CRP-C[0-9]+-[0-9]+-[0-9]+" # Japan (JISEC-CC-CRP-C0689-01-2020) - "Certification No. [cC][0-9]+" # Japan (Certification No. C0090) MY: - - "ISCB-[0-9]+-(?:RPT|FRM)-[CM][0-9]+[A-Z]?-(?:CR|AMR)(?:-[0-9])?-[vV][0-9](?:\\.[0-9])?[a-z]?" # Malaysia (ISCB-3-RPT-C092-CR-v1, ISCB-3-RPT-C068-CR-1-v1) + - "ISCB-(?P<digit>[0-9])-RPT-C(?P<counter>[0-9]{3})-CR(?:-[0-9])?-(?P<version>[vV][0-9][a-z]?)" + # Examples: + # ISCB-3-RPT-C068-CR-1-v1 + # ISCB-5-RPT-C075-CR-v2 + # ISCB-5-RPT-C046-CR-V1a IT: - "OCSI/CERT/.+?" # Italy - "OCSI/CERT/.+?/20[0-9]+(?:\\w|/RC)" # Italy (OCSI/CERT/ATS/01/2018/RC) diff --git a/src/sec_certs/sample/cc_certificate_id.py b/src/sec_certs/sample/cc_certificate_id.py index e84f6df2..42dc9e6f 100644 --- a/src/sec_certs/sample/cc_certificate_id.py +++ b/src/sec_certs/sample/cc_certificate_id.py @@ -89,6 +89,19 @@ class CertificateId: return new_cert_id + def _canonical_my(self) -> str: + new_cert_id = self.clean + for rule in rules["cc_cert_id"]["MY"]: + if match := re.match(rule, new_cert_id): + groups = match.groupdict() + digit = groups["digit"] + counter = groups["counter"] + version = groups["version"] + new_cert_id = f"ISCB-{digit}-RPT-C{counter}-CR-{version.lower()}" + break + + return new_cert_id + def _canonical_es(self) -> str: cert_id = self.clean spain_parts = cert_id.split("-") @@ -170,6 +183,7 @@ class CertificateId: "FR": self._canonical_fr, "DE": self._canonical_de, "US": self._canonical_us, + "MY": self._canonical_my, "ES": self._canonical_es, "IT": self._canonical_it, "IN": self._canonical_in, |
