aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJán Jančár2024-06-09 17:29:28 +0200
committerGitHub2024-06-09 17:29:28 +0200
commit52c6a9fc5cf68da9d96d680e1622f3c20a426294 (patch)
treea54f74c5e01546e1caa84ccd4bb46d9fb6639b3b
parent3191333f0f7508d69b04753814466efed2d952de (diff)
parent703c6438db982022d581c2926ab30f1b112d1567 (diff)
downloadsec-certs-52c6a9fc5cf68da9d96d680e1622f3c20a426294.tar.gz
sec-certs-52c6a9fc5cf68da9d96d680e1622f3c20a426294.tar.zst
sec-certs-52c6a9fc5cf68da9d96d680e1622f3c20a426294.zip
Merge pull request #412 from J08nY/fix/cc-link-compat
Fix/cc link compat
-rw-r--r--src/sec_certs/sample/cc.py10
-rw-r--r--src/sec_certs/utils/sanitization.py12
2 files changed, 16 insertions, 6 deletions
diff --git a/src/sec_certs/sample/cc.py b/src/sec_certs/sample/cc.py
index 28099f58..e753eb83 100644
--- a/src/sec_certs/sample/cc.py
+++ b/src/sec_certs/sample/cc.py
@@ -58,10 +58,10 @@ class CCCertificate(
def __post_init__(self):
super().__setattr__(
- "maintenance_report_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_report_link)
+ "maintenance_report_link", sec_certs.utils.sanitization.sanitize_cc_link(self.maintenance_report_link)
)
super().__setattr__(
- "maintenance_st_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_st_link)
+ "maintenance_st_link", sec_certs.utils.sanitization.sanitize_cc_link(self.maintenance_st_link)
)
super().__setattr__(
"maintenance_title", sec_certs.utils.sanitization.sanitize_string(self.maintenance_title)
@@ -430,9 +430,9 @@ class CCCertificate(
self.security_level = sec_certs.utils.sanitization.sanitize_security_levels(security_level)
self.not_valid_before = sec_certs.utils.sanitization.sanitize_date(not_valid_before)
self.not_valid_after = sec_certs.utils.sanitization.sanitize_date(not_valid_after)
- self.report_link = sec_certs.utils.sanitization.sanitize_link(report_link)
- self.st_link = sec_certs.utils.sanitization.sanitize_link(st_link)
- self.cert_link = sec_certs.utils.sanitization.sanitize_link(cert_link)
+ self.report_link = sec_certs.utils.sanitization.sanitize_cc_link(report_link)
+ self.st_link = sec_certs.utils.sanitization.sanitize_cc_link(st_link)
+ self.cert_link = sec_certs.utils.sanitization.sanitize_cc_link(cert_link)
self.manufacturer_web = sec_certs.utils.sanitization.sanitize_link(manufacturer_web)
self.protection_profiles = protection_profiles
self.maintenance_updates = maintenance_updates
diff --git a/src/sec_certs/utils/sanitization.py b/src/sec_certs/utils/sanitization.py
index 17e34362..fd477746 100644
--- a/src/sec_certs/utils/sanitization.py
+++ b/src/sec_certs/utils/sanitization.py
@@ -23,6 +23,16 @@ def sanitize_link(record: str | None) -> str | None:
return record.replace(":443", "").replace(" ", "%20").replace("http://", "https://")
+def sanitize_cc_link(record: str | None) -> str | None:
+ record = sanitize_link(record)
+ if not record:
+ return None
+ record = record.replace("nfs/ccpfiles/", "")
+ if record == "https://www.commoncriteriaportal.org/files/epfiles/":
+ return None
+ return record
+
+
def sanitize_date(record: pd.Timestamp | date | np.datetime64) -> date | None:
if pd.isnull(record):
return None
@@ -42,7 +52,7 @@ def sanitize_string(record: str) -> str:
def sanitize_security_levels(record: str | set[str]) -> set[str]:
if isinstance(record, str):
record = set(record.split(","))
- return record - {"Basic", "ND-PP", "PP\xa0Compliant", "None", "Medium"}
+ return record - {"Basic", "ND-PP", "PP\xa0Compliant", "None", "Medium", ""}
def sanitize_protection_profiles(record: str) -> list: