diff options
| author | J08nY | 2022-07-04 19:00:04 +0200 |
|---|---|---|
| committer | J08nY | 2022-07-05 19:12:58 +0200 |
| commit | 22fabff6b5bd149f47f6b48db12b007b011f5156 (patch) | |
| tree | f1d8db1b96ff3832bced61ad5c0c16e4866201f9 /sec_certs | |
| parent | 525995138f901b453a8b24ee888a0ff991b3d1d5 (diff) | |
| download | sec-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.py | 6 | ||||
| -rw-r--r-- | sec_certs/dataset/common_criteria.py | 9 | ||||
| -rw-r--r-- | sec_certs/dataset/cpe.py | 2 | ||||
| -rw-r--r-- | sec_certs/dataset/cve.py | 2 | ||||
| -rw-r--r-- | sec_certs/dataset/fips.py | 6 | ||||
| -rw-r--r-- | sec_certs/dataset/fips_algorithm.py | 4 | ||||
| -rw-r--r-- | sec_certs/dataset/fips_iut.py | 2 | ||||
| -rw-r--r-- | sec_certs/dataset/fips_mip.py | 2 | ||||
| -rw-r--r-- | sec_certs/sample/common_criteria.py | 16 | ||||
| -rw-r--r-- | sec_certs/sample/cpe.py | 2 | ||||
| -rw-r--r-- | sec_certs/sample/fips.py | 4 | ||||
| -rw-r--r-- | sec_certs/sample/fips_iut.py | 2 | ||||
| -rw-r--r-- | sec_certs/sample/fips_mip.py | 2 | ||||
| -rw-r--r-- | sec_certs/sample/protection_profile.py | 11 | ||||
| -rw-r--r-- | sec_certs/sample/sar.py | 4 | ||||
| -rw-r--r-- | sec_certs/utils/extract.py | 42 |
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 |
