aboutsummaryrefslogtreecommitdiffhomepage
path: root/sec_certs
diff options
context:
space:
mode:
authorJ08nY2022-07-04 19:00:04 +0200
committerJ08nY2022-07-05 19:12:58 +0200
commit22fabff6b5bd149f47f6b48db12b007b011f5156 (patch)
treef1d8db1b96ff3832bced61ad5c0c16e4866201f9 /sec_certs
parent525995138f901b453a8b24ee888a0ff991b3d1d5 (diff)
downloadsec-certs-22fabff6b5bd149f47f6b48db12b007b011f5156.tar.gz
sec-certs-22fabff6b5bd149f47f6b48db12b007b011f5156.tar.zst
sec-certs-22fabff6b5bd149f47f6b48db12b007b011f5156.zip
Blacken and isort.
Diffstat (limited to 'sec_certs')
-rw-r--r--sec_certs/cert_rules.py6
-rw-r--r--sec_certs/dataset/common_criteria.py9
-rw-r--r--sec_certs/dataset/cpe.py2
-rw-r--r--sec_certs/dataset/cve.py2
-rw-r--r--sec_certs/dataset/fips.py6
-rw-r--r--sec_certs/dataset/fips_algorithm.py4
-rw-r--r--sec_certs/dataset/fips_iut.py2
-rw-r--r--sec_certs/dataset/fips_mip.py2
-rw-r--r--sec_certs/sample/common_criteria.py16
-rw-r--r--sec_certs/sample/cpe.py2
-rw-r--r--sec_certs/sample/fips.py4
-rw-r--r--sec_certs/sample/fips_iut.py2
-rw-r--r--sec_certs/sample/fips_mip.py2
-rw-r--r--sec_certs/sample/protection_profile.py11
-rw-r--r--sec_certs/sample/sar.py4
-rw-r--r--sec_certs/utils/extract.py42
16 files changed, 59 insertions, 57 deletions
diff --git a/sec_certs/cert_rules.py b/sec_certs/cert_rules.py
index ef80ef6a..4a12a272 100644
--- a/sec_certs/cert_rules.py
+++ b/sec_certs/cert_rules.py
@@ -1,8 +1,8 @@
-import copy
import re
-import yaml
from pathlib import Path
-from typing import Dict, List, Pattern, Set, Tuple
+from typing import Dict, Set, Tuple
+
+import yaml
REGEXEC_SEP = r"[ ,;\]”)(]"
diff --git a/sec_certs/dataset/common_criteria.py b/sec_certs/dataset/common_criteria.py
index a2091f97..e1a1e343 100644
--- a/sec_certs/dataset/common_criteria.py
+++ b/sec_certs/dataset/common_criteria.py
@@ -16,8 +16,6 @@ import pandas as pd
from bs4 import BeautifulSoup, Tag
import sec_certs.utils.sanitization
-from sec_certs.utils import helpers as helpers
-from sec_certs.utils import parallel_processing as cert_processing
from sec_certs.config.configuration import config
from sec_certs.dataset.dataset import Dataset, logger
from sec_certs.dataset.protection_profile import ProtectionProfileDataset
@@ -28,6 +26,8 @@ from sec_certs.sample.cc_maintenance_update import CommonCriteriaMaintenanceUpda
from sec_certs.sample.common_criteria import CommonCriteriaCert
from sec_certs.sample.protection_profile import ProtectionProfile
from sec_certs.serialization.json import ComplexSerializableType, CustomJSONDecoder, serialize
+from sec_certs.utils import helpers as helpers
+from sec_certs.utils import parallel_processing as cert_processing
class CCDataset(Dataset[CommonCriteriaCert], ComplexSerializableType):
@@ -469,7 +469,10 @@ class CCDataset(Dataset[CommonCriteriaCert], ComplexSerializableType):
profiles = {
x.dgst: set(
- [ProtectionProfile(pp_name=y) for y in sec_certs.utils.sanitization.sanitize_protection_profiles(x.protection_profiles)]
+ [
+ ProtectionProfile(pp_name=y)
+ for y in sec_certs.utils.sanitization.sanitize_protection_profiles(x.protection_profiles)
+ ]
)
for x in df_base.itertuples()
}
diff --git a/sec_certs/dataset/cpe.py b/sec_certs/dataset/cpe.py
index 6948fd7e..1a8f6860 100644
--- a/sec_certs/dataset/cpe.py
+++ b/sec_certs/dataset/cpe.py
@@ -11,10 +11,10 @@ from typing import Any, ClassVar, Dict, Iterator, List, Set, Tuple, Union, cast
import pandas as pd
from sec_certs import constants
-from sec_certs.utils import helpers
from sec_certs.dataset.cve import CVEDataset
from sec_certs.sample.cpe import CPE, cached_cpe
from sec_certs.serialization.json import ComplexSerializableType, serialize
+from sec_certs.utils import helpers
logger = logging.getLogger(__name__)
diff --git a/sec_certs/dataset/cve.py b/sec_certs/dataset/cve.py
index c7fe69c3..d8bb8ec1 100644
--- a/sec_certs/dataset/cve.py
+++ b/sec_certs/dataset/cve.py
@@ -16,10 +16,10 @@ import pandas as pd
import sec_certs.constants as constants
import sec_certs.utils.helpers as helpers
from sec_certs.config.configuration import config
-from sec_certs.utils.parallel_processing import process_parallel
from sec_certs.sample.cpe import CPE, cached_cpe
from sec_certs.sample.cve import CVE
from sec_certs.serialization.json import ComplexSerializableType, CustomJSONDecoder, CustomJSONEncoder
+from sec_certs.utils.parallel_processing import process_parallel
logger = logging.getLogger(__name__)
diff --git a/sec_certs/dataset/fips.py b/sec_certs/dataset/fips.py
index c051a887..10b81475 100644
--- a/sec_certs/dataset/fips.py
+++ b/sec_certs/dataset/fips.py
@@ -6,15 +6,15 @@ from typing import Any, Dict, List, Optional, Set
from bs4 import BeautifulSoup, NavigableString
from graphviz import Digraph
-from sec_certs.utils import helpers as helpers
-from sec_certs.utils import parallel_processing as cert_processing
from sec_certs.config.configuration import config
from sec_certs.dataset.dataset import Dataset
from sec_certs.dataset.fips_algorithm import FIPSAlgorithmDataset
-from sec_certs.utils.helpers import fips_dgst
from sec_certs.model.dependency_finder import DependencyFinder
from sec_certs.sample.fips import FIPSCertificate
from sec_certs.serialization.json import ComplexSerializableType, serialize
+from sec_certs.utils import helpers as helpers
+from sec_certs.utils import parallel_processing as cert_processing
+from sec_certs.utils.helpers import fips_dgst
logger = logging.getLogger(__name__)
diff --git a/sec_certs/dataset/fips_algorithm.py b/sec_certs/dataset/fips_algorithm.py
index 91df0d7f..f0ddca6c 100644
--- a/sec_certs/dataset/fips_algorithm.py
+++ b/sec_certs/dataset/fips_algorithm.py
@@ -7,12 +7,12 @@ from bs4 import BeautifulSoup
import sec_certs.utils.extract
from sec_certs import constants as constants
-from sec_certs.utils import helpers as helpers
-from sec_certs.utils import parallel_processing as cert_processing
from sec_certs.config.configuration import config
from sec_certs.dataset.dataset import Dataset
from sec_certs.sample.fips import FIPSCertificate
from sec_certs.serialization.json import ComplexSerializableType, CustomJSONDecoder, CustomJSONEncoder
+from sec_certs.utils import helpers as helpers
+from sec_certs.utils import parallel_processing as cert_processing
logger = logging.getLogger(__name__)
diff --git a/sec_certs/dataset/fips_iut.py b/sec_certs/dataset/fips_iut.py
index dfb2884b..b731115c 100644
--- a/sec_certs/dataset/fips_iut.py
+++ b/sec_certs/dataset/fips_iut.py
@@ -3,9 +3,9 @@ from pathlib import Path
from typing import Dict, Iterator, List, Mapping, Union
from sec_certs.dataset.dataset import logger
-from sec_certs.utils.helpers import tqdm
from sec_certs.sample.fips_iut import IUTSnapshot
from sec_certs.serialization.json import ComplexSerializableType
+from sec_certs.utils.helpers import tqdm
@dataclass
diff --git a/sec_certs/dataset/fips_mip.py b/sec_certs/dataset/fips_mip.py
index 2ee8deda..91d8120c 100644
--- a/sec_certs/dataset/fips_mip.py
+++ b/sec_certs/dataset/fips_mip.py
@@ -3,9 +3,9 @@ from pathlib import Path
from typing import Dict, Iterator, List, Mapping, Union
from sec_certs.dataset.dataset import logger
-from sec_certs.utils.helpers import tqdm
from sec_certs.sample.fips_mip import MIPSnapshot
from sec_certs.serialization.json import ComplexSerializableType
+from sec_certs.utils.helpers import tqdm
@dataclass
diff --git a/sec_certs/sample/common_criteria.py b/sec_certs/sample/common_criteria.py
index a26f4310..9d78274b 100644
--- a/sec_certs/sample/common_criteria.py
+++ b/sec_certs/sample/common_criteria.py
@@ -18,13 +18,13 @@ import sec_certs.utils.extract
import sec_certs.utils.pdf
import sec_certs.utils.sanitization
from sec_certs import constants as constants
-from sec_certs.utils import helpers
-from sec_certs.cert_rules import SARS_IMPLIED_FROM_EAL, security_level_csv_scan, cc_rules
+from sec_certs.cert_rules import SARS_IMPLIED_FROM_EAL, cc_rules, security_level_csv_scan
from sec_certs.sample.certificate import Certificate, Heuristics, References, logger
from sec_certs.sample.protection_profile import ProtectionProfile
from sec_certs.sample.sar import SAR
from sec_certs.serialization.json import ComplexSerializableType
from sec_certs.serialization.pandas import PandasSerializableType
+from sec_certs.utils import helpers
HEADERS = {
"anssi": sec_certs.utils.extract.search_only_headers_anssi,
@@ -67,9 +67,15 @@ class CommonCriteriaCert(
maintenance_st_link: Optional[str]
def __post_init__(self):
- super().__setattr__("maintenance_report_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_report_link))
- super().__setattr__("maintenance_st_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_st_link))
- super().__setattr__("maintenance_title", sec_certs.utils.sanitization.sanitize_string(self.maintenance_title))
+ super().__setattr__(
+ "maintenance_report_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_report_link)
+ )
+ super().__setattr__(
+ "maintenance_st_link", sec_certs.utils.sanitization.sanitize_link(self.maintenance_st_link)
+ )
+ super().__setattr__(
+ "maintenance_title", sec_certs.utils.sanitization.sanitize_string(self.maintenance_title)
+ )
super().__setattr__("maintenance_date", sec_certs.utils.sanitization.sanitize_date(self.maintenance_date))
@classmethod
diff --git a/sec_certs/sample/cpe.py b/sec_certs/sample/cpe.py
index ff3416b5..4a026ce1 100644
--- a/sec_certs/sample/cpe.py
+++ b/sec_certs/sample/cpe.py
@@ -3,9 +3,9 @@ from functools import lru_cache
from typing import Any, ClassVar, Dict, List, Optional, Tuple
from sec_certs import constants
-from sec_certs.utils import helpers
from sec_certs.serialization.json import ComplexSerializableType
from sec_certs.serialization.pandas import PandasSerializableType
+from sec_certs.utils import helpers
@dataclass(init=False)
diff --git a/sec_certs/sample/fips.py b/sec_certs/sample/fips.py
index 51e795fc..5b2c7367 100644
--- a/sec_certs/sample/fips.py
+++ b/sec_certs/sample/fips.py
@@ -5,7 +5,7 @@ import re
from dataclasses import dataclass, field
from datetime import datetime
from pathlib import Path
-from typing import Any, ClassVar, Dict, List, Match, Optional, Pattern, Set, Tuple, Union
+from typing import Any, ClassVar, Dict, List, Optional, Pattern, Set, Tuple, Union
import requests
from bs4 import BeautifulSoup, NavigableString, Tag
@@ -19,10 +19,10 @@ import sec_certs.utils.pdf
import sec_certs.utils.tables
from sec_certs.cert_rules import fips_rules
from sec_certs.config.configuration import config
-from sec_certs.utils.helpers import fips_dgst
from sec_certs.sample.certificate import Certificate, Heuristics, References, logger
from sec_certs.sample.cpe import CPE
from sec_certs.serialization.json import ComplexSerializableType
+from sec_certs.utils.helpers import fips_dgst
class FIPSCertificate(Certificate["FIPSCertificate", "FIPSCertificate.FIPSHeuristics"], ComplexSerializableType):
diff --git a/sec_certs/sample/fips_iut.py b/sec_certs/sample/fips_iut.py
index bdf90fa6..3182585c 100644
--- a/sec_certs/sample/fips_iut.py
+++ b/sec_certs/sample/fips_iut.py
@@ -6,8 +6,8 @@ from typing import Dict, Iterator, List, Mapping, Optional, Set, Union
import requests
from bs4 import BeautifulSoup, Tag
-from sec_certs.utils.helpers import to_utc
from sec_certs.serialization.json import ComplexSerializableType
+from sec_certs.utils.helpers import to_utc
@dataclass(frozen=True)
diff --git a/sec_certs/sample/fips_mip.py b/sec_certs/sample/fips_mip.py
index 2a0e480f..0a95c74e 100644
--- a/sec_certs/sample/fips_mip.py
+++ b/sec_certs/sample/fips_mip.py
@@ -9,8 +9,8 @@ import requests
from bs4 import BeautifulSoup, Tag
from sec_certs.constants import FIPS_MIP_STATUS_RE
-from sec_certs.utils.helpers import to_utc
from sec_certs.serialization.json import ComplexSerializableType
+from sec_certs.utils.helpers import to_utc
logger = logging.getLogger(__name__)
diff --git a/sec_certs/sample/protection_profile.py b/sec_certs/sample/protection_profile.py
index 55fca1c0..b720fa04 100644
--- a/sec_certs/sample/protection_profile.py
+++ b/sec_certs/sample/protection_profile.py
@@ -3,8 +3,7 @@ import logging
from dataclasses import dataclass
from typing import Any, Dict, FrozenSet, Optional
-import sec_certs.utils.helpers as helpers
-import sec_certs.utils.sanitization
+import sec_certs.utils.sanitization as sanitization
from sec_certs.serialization.json import ComplexSerializableType
logger = logging.getLogger(__name__)
@@ -21,8 +20,8 @@ class ProtectionProfile(ComplexSerializableType):
pp_ids: Optional[FrozenSet[str]] = None
def __post_init__(self):
- super().__setattr__("pp_name", sec_certs.utils.sanitization.sanitize_string(self.pp_name))
- super().__setattr__("pp_link", sec_certs.utils.sanitization.sanitize_link(self.pp_link))
+ super().__setattr__("pp_name", sanitization.sanitize_string(self.pp_name))
+ super().__setattr__("pp_link", sanitization.sanitize_link(self.pp_link))
@classmethod
def from_dict(cls, dct: Dict[str, Any]) -> "ProtectionProfile":
@@ -32,8 +31,8 @@ class ProtectionProfile(ComplexSerializableType):
@classmethod
def from_old_api_dict(cls, dct: Dict[str, Any]) -> "ProtectionProfile":
- pp_name = sec_certs.utils.sanitization.sanitize_string(dct["csv_scan"]["cc_pp_name"])
- pp_link = sec_certs.utils.sanitization.sanitize_link(dct["csv_scan"]["link_pp_document"])
+ pp_name = sanitization.sanitize_string(dct["csv_scan"]["cc_pp_name"])
+ pp_link = sanitization.sanitize_link(dct["csv_scan"]["link_pp_document"])
pp_ids = frozenset(dct["processed"]["cc_pp_csvid"]) if dct["processed"]["cc_pp_csvid"] else None
return cls(pp_name, pp_link, pp_ids)
diff --git a/sec_certs/sample/sar.py b/sec_certs/sample/sar.py
index 96c8f48d..31359299 100644
--- a/sec_certs/sample/sar.py
+++ b/sec_certs/sample/sar.py
@@ -49,7 +49,9 @@ class SAR(ComplexSerializableType):
@staticmethod
def matches_re(string: str) -> bool:
- return any([re.match(sar_class + "(?:_[A-Z]{3,4}){1,2}(?:\\.[0-9]){0,2}", string) for sar_class in SAR_CLASS_MAPPING])
+ return any(
+ [re.match(sar_class + "(?:_[A-Z]{3,4}){1,2}(?:\\.[0-9]){0,2}", string) for sar_class in SAR_CLASS_MAPPING]
+ )
def __lt__(self, other: Any) -> bool:
if not isinstance(other, SAR):
diff --git a/sec_certs/utils/extract.py b/sec_certs/utils/extract.py
index 49126587..b47e5ec8 100644
--- a/sec_certs/utils/extract.py
+++ b/sec_certs/utils/extract.py
@@ -1,18 +1,14 @@
import logging
import os
import re
+from collections import Counter
from enum import Enum
from pathlib import Path
-from collections import Counter
from typing import Any, Dict, Generator, Hashable, Iterator, Optional, Tuple, Union
from sec_certs import constants as constants
from sec_certs.cert_rules import REGEXEC_SEP
-from sec_certs.constants import (
- FILE_ERRORS_STRATEGY,
- LINE_SEPARATOR,
- MAX_ALLOWED_MATCH_LENGTH
-)
+from sec_certs.constants import FILE_ERRORS_STRATEGY, LINE_SEPARATOR, MAX_ALLOWED_MATCH_LENGTH
logger = logging.getLogger(__name__)
@@ -325,7 +321,7 @@ def search_only_headers_bsi(filepath: Path): # noqa: C901
f"string {from_keyword} detected in certified item - shall not be here, fixing..."
)
certified_item_first = certified_item[: certified_item.find(from_keyword)]
- developer = certified_item[certified_item.find(from_keyword) + from_keyword_len:]
+ developer = certified_item[certified_item.find(from_keyword) + from_keyword_len :]
certified_item = certified_item_first
continue
@@ -421,7 +417,7 @@ def search_only_headers_nscib(filepath: Path): # noqa: C901
certified_item = ""
for name_index in range(item_offset, line_index):
certified_item += lines[name_index] + " "
- developer = line[line.find(SPONSORDEVELOPER_STR) + len(SPONSORDEVELOPER_STR):]
+ developer = line[line.find(SPONSORDEVELOPER_STR) + len(SPONSORDEVELOPER_STR) :]
SPONSOR_STR = "Sponsor:"
@@ -437,15 +433,15 @@ def search_only_headers_nscib(filepath: Path): # noqa: C901
DEVELOPER_STR = "Developer:"
if DEVELOPER_STR in line:
- developer = line[line.find(DEVELOPER_STR) + len(DEVELOPER_STR):]
+ developer = line[line.find(DEVELOPER_STR) + len(DEVELOPER_STR) :]
CERTLAB_STR = "Evaluation facility:"
if CERTLAB_STR in line:
- cert_lab = line[line.find(CERTLAB_STR) + len(CERTLAB_STR):]
+ cert_lab = line[line.find(CERTLAB_STR) + len(CERTLAB_STR) :]
REPORTNUM_STR = "Report number:"
if REPORTNUM_STR in line:
- cert_id = line[line.find(REPORTNUM_STR) + len(REPORTNUM_STR):]
+ cert_id = line[line.find(REPORTNUM_STR) + len(REPORTNUM_STR) :]
if not no_match_yet:
items_found[constants.TAG_CERT_ID] = normalize_match_string(cert_id)
@@ -496,7 +492,7 @@ def search_only_headers_niap(filepath: Path):
certified_item = ""
for name_index in range(item_offset, line_index):
certified_item += lines[name_index] + " "
- cert_id = line[line.find(REPORTNUM_STR) + len(REPORTNUM_STR):]
+ cert_id = line[line.find(REPORTNUM_STR) + len(REPORTNUM_STR) :]
break
if not no_match_yet:
@@ -542,12 +538,12 @@ def search_only_headers_canada(filepath: Path): # noqa: C901
items_found = {}
no_match_yet = False
- cert_id = line_certid[line_certid.find(matched_number_str) + len(matched_number_str):]
+ cert_id = line_certid[line_certid.find(matched_number_str) + len(matched_number_str) :]
break
if (
- "Government of Canada. This document is the property of the Government of Canada. It shall not be altered,"
- in line
+ "Government of Canada. This document is the property of the Government of Canada. It shall not be altered,"
+ in line
):
REPORTNUM_STR = "Evaluation number:"
for offset in range(1, 20):
@@ -557,14 +553,14 @@ def search_only_headers_canada(filepath: Path): # noqa: C901
items_found = {}
no_match_yet = False
line_certid = lines[line_index + offset - 4]
- cert_id = line_certid[line_certid.find(REPORTNUM_STR) + len(REPORTNUM_STR):]
+ cert_id = line_certid[line_certid.find(REPORTNUM_STR) + len(REPORTNUM_STR) :]
break
if not no_match_yet:
break
if (
- "UNCLASSIFIED / NON CLASSIFIÉ" in line
- and "COMMON CRITERIA CERTIFICATION REPORT" in lines[line_index + 2]
+ "UNCLASSIFIED / NON CLASSIFIÉ" in line
+ and "COMMON CRITERIA CERTIFICATION REPORT" in lines[line_index + 2]
):
line_certid = lines[line_index + 1]
if no_match_yet:
@@ -605,9 +601,7 @@ def save_modified_cert_file(target_file: Union[str, Path], modified_cert_file_te
def extract_keywords(filepath: Path, search_rules) -> Optional[Dict[str, Dict[str, int]]]:
- """
-
- """
+ """ """
try:
return parse_cert_file(filepath, search_rules, -1, constants.LINE_SEPARATOR)
except Exception as e:
@@ -618,9 +612,7 @@ def extract_keywords(filepath: Path, search_rules) -> Optional[Dict[str, Dict[st
def parse_cert_file(file_name, search_rules, limit_max_lines=-1, line_separator=LINE_SEPARATOR): # noqa: C901
- """
-
- """
+ """ """
whole_text, whole_text_with_newlines, was_unicode_decode_error = load_text_file(
file_name, limit_max_lines, line_separator
)
@@ -656,7 +648,7 @@ def normalize_match_string(match: str) -> str:
def load_text_file(
- file_name: Union[str, Path], limit_max_lines: int = -1, line_separator: str = LINE_SEPARATOR
+ file_name: Union[str, Path], limit_max_lines: int = -1, line_separator: str = LINE_SEPARATOR
) -> Tuple[str, str, bool]:
"""
Load the text contents of a file at `file_name`, upto `limit_max_lines` of lines, replace