diff options
| author | Adam Janovsky | 2021-10-22 15:26:29 +0200 |
|---|---|---|
| committer | Adam Janovsky | 2021-10-22 15:26:29 +0200 |
| commit | 47e548aaa8a13cdd124be0a039d5e43df3e1fbcb (patch) | |
| tree | 4fe530308cc1b9f913b26fc2a490a412dc2fecb8 | |
| parent | a035274a413c12ef41036a9d18f575f6b6f5179d (diff) | |
| download | sec-certs-47e548aaa8a13cdd124be0a039d5e43df3e1fbcb.tar.gz sec-certs-47e548aaa8a13cdd124be0a039d5e43df3e1fbcb.tar.zst sec-certs-47e548aaa8a13cdd124be0a039d5e43df3e1fbcb.zip | |
move config and add better error message to invalid jsonschema
| -rw-r--r-- | examples/cc_cpe_labeling.py | 2 | ||||
| -rw-r--r-- | examples/cc_oop_demo.py | 2 | ||||
| -rw-r--r-- | examples/fips_oop_demo.py | 2 | ||||
| -rw-r--r-- | sec_certs/certificate/common_criteria.py | 3 | ||||
| -rw-r--r-- | sec_certs/certificate/fips.py | 4 | ||||
| -rw-r--r-- | sec_certs/config/configuration.py (renamed from sec_certs/configuration.py) | 15 | ||||
| -rw-r--r-- | sec_certs/config/settings-schema.json (renamed from sec_certs/settings-schema.json) | 0 | ||||
| -rw-r--r-- | sec_certs/config/settings.yaml (renamed from sec_certs/settings.yaml) | 0 | ||||
| -rw-r--r-- | sec_certs/dataset/common_criteria.py | 7 | ||||
| -rw-r--r-- | sec_certs/dataset/cve.py | 2 | ||||
| -rw-r--r-- | sec_certs/dataset/dataset.py | 2 | ||||
| -rw-r--r-- | sec_certs/dataset/fips.py | 6 | ||||
| -rw-r--r-- | sec_certs/dataset/fips_algorithm.py | 3 | ||||
| -rw-r--r-- | tests/test_fips_oop.py | 2 |
14 files changed, 22 insertions, 28 deletions
diff --git a/examples/cc_cpe_labeling.py b/examples/cc_cpe_labeling.py index e467cfa9..d0d0548d 100644 --- a/examples/cc_cpe_labeling.py +++ b/examples/cc_cpe_labeling.py @@ -3,7 +3,7 @@ import logging from pathlib import Path from sec_certs.dataset.common_criteria import CCDataset -from sec_certs.configuration import config +from sec_certs.config.configuration import config logger = logging.getLogger(__name__) diff --git a/examples/cc_oop_demo.py b/examples/cc_oop_demo.py index c89832fe..1f2919e8 100644 --- a/examples/cc_oop_demo.py +++ b/examples/cc_oop_demo.py @@ -3,7 +3,7 @@ from datetime import datetime import logging from sec_certs.dataset.common_criteria import CCDataset -from sec_certs.configuration import config +from sec_certs.config.configuration import config logger = logging.getLogger(__name__) diff --git a/examples/fips_oop_demo.py b/examples/fips_oop_demo.py index dd74e866..0ae3a444 100644 --- a/examples/fips_oop_demo.py +++ b/examples/fips_oop_demo.py @@ -4,7 +4,7 @@ import logging import click from sec_certs.dataset.fips import FIPSDataset from sec_certs.dataset.fips_algorithm import FIPSAlgorithmDataset -from sec_certs.configuration import config +from sec_certs.config.configuration import config @click.command() diff --git a/sec_certs/certificate/common_criteria.py b/sec_certs/certificate/common_criteria.py index b64eadd8..0446b1b0 100644 --- a/sec_certs/certificate/common_criteria.py +++ b/sec_certs/certificate/common_criteria.py @@ -1,7 +1,6 @@ import copy import itertools import operator -import re from dataclasses import dataclass, field from datetime import date, datetime from pathlib import Path @@ -16,7 +15,7 @@ from sec_certs.dataset.cpe import CPE, CPEDataset from sec_certs.dataset.cve import CVEDataset from sec_certs.serialization import ComplexSerializableType from sec_certs.certificate.protection_profile import ProtectionProfile -from sec_certs.configuration import config +from sec_certs.config.configuration import config class CommonCriteriaCert(Certificate, ComplexSerializableType): diff --git a/sec_certs/certificate/fips.py b/sec_certs/certificate/fips.py index d90fe835..6d131ab5 100644 --- a/sec_certs/certificate/fips.py +++ b/sec_certs/certificate/fips.py @@ -11,10 +11,10 @@ from dateutil import parser from tabula import read_pdf import sec_certs.constants -from sec_certs import helpers, dataset, constants as constants +from sec_certs import helpers, constants as constants from sec_certs.cert_rules import fips_common_rules, REGEXEC_SEP, fips_rules from sec_certs.certificate.certificate import Certificate, logger -from sec_certs.configuration import config +from sec_certs.config.configuration import config from sec_certs.constants import LINE_SEPARATOR from sec_certs.helpers import save_modified_cert_file, normalize_match_string, load_cert_file from sec_certs.serialization import ComplexSerializableType diff --git a/sec_certs/configuration.py b/sec_certs/config/configuration.py index 6a495e60..7a3b8831 100644 --- a/sec_certs/configuration.py +++ b/sec_certs/config/configuration.py @@ -1,12 +1,8 @@ import yaml -from typing import Union, Any +from typing import Union from pathlib import Path -from importlib_resources import files import jsonschema import json -import os - -import sec_certs class Configuration(object): @@ -16,10 +12,13 @@ class Configuration(object): script_dir = Path(__file__).parent - with open(Path(script_dir) / 'settings-schema.json', 'r') as file: + with (Path(script_dir) / 'settings-schema.json').open('r') as file: schema = json.loads(file.read()) - jsonschema.validate(state, schema) + try: + jsonschema.validate(state, schema) + except jsonschema.exceptions.ValidationError as e: + print(f'{e}\n\nIn file {filepath}') for k, v in state.items(): setattr(self, k, v) @@ -31,6 +30,6 @@ class Configuration(object): return object.__getattribute__(self, key) -config_path = files(sec_certs).joinpath('settings.yaml') +config_path = Path(__file__).parent / 'settings.yaml' config = Configuration() config.load(config_path) diff --git a/sec_certs/settings-schema.json b/sec_certs/config/settings-schema.json index e05d06e5..e05d06e5 100644 --- a/sec_certs/settings-schema.json +++ b/sec_certs/config/settings-schema.json diff --git a/sec_certs/settings.yaml b/sec_certs/config/settings.yaml index a5c8911f..a5c8911f 100644 --- a/sec_certs/settings.yaml +++ b/sec_certs/config/settings.yaml diff --git a/sec_certs/dataset/common_criteria.py b/sec_certs/dataset/common_criteria.py index 430b7b33..f50fdf67 100644 --- a/sec_certs/dataset/common_criteria.py +++ b/sec_certs/dataset/common_criteria.py @@ -7,7 +7,7 @@ import time from dataclasses import dataclass from datetime import datetime from pathlib import Path -from typing import Dict, Optional, Union, List, Tuple, Set +from typing import Dict, Optional, Union, List, Tuple import json import numpy as np @@ -15,15 +15,14 @@ import pandas as pd from bs4 import Tag, BeautifulSoup from tqdm import tqdm -from sec_certs import helpers as helpers, parallel_processing as cert_processing, constants as constants -from sec_certs.dataset.cpe import CPEDataset, CPE +from sec_certs import helpers as helpers, parallel_processing as cert_processing from sec_certs.dataset.cve import CVEDataset from sec_certs.dataset.dataset import Dataset, logger from sec_certs.serialization import ComplexSerializableType, serialize, CustomJSONDecoder from sec_certs.certificate.common_criteria import CommonCriteriaCert from sec_certs.dataset.protection_profile import ProtectionProfileDataset from sec_certs.certificate.protection_profile import ProtectionProfile -from sec_certs.configuration import config +from sec_certs.config.configuration import config from sec_certs.certificate.cc_maintenance_update import CommonCriteriaMaintenanceUpdate diff --git a/sec_certs/dataset/cve.py b/sec_certs/dataset/cve.py index a69b648f..e8d70a55 100644 --- a/sec_certs/dataset/cve.py +++ b/sec_certs/dataset/cve.py @@ -15,7 +15,7 @@ from sec_certs.parallel_processing import process_parallel import sec_certs.constants as constants import sec_certs.helpers as helpers from sec_certs.serialization import ComplexSerializableType, CustomJSONDecoder, CustomJSONEncoder -from sec_certs.configuration import config +from sec_certs.config.configuration import config logger = logging.getLogger(__name__) diff --git a/sec_certs/dataset/dataset.py b/sec_certs/dataset/dataset.py index bb4469b6..0842122d 100644 --- a/sec_certs/dataset/dataset.py +++ b/sec_certs/dataset/dataset.py @@ -14,7 +14,7 @@ import sec_certs.parallel_processing as cert_processing from sec_certs.certificate.certificate import Certificate from sec_certs.serialization import CustomJSONDecoder, CustomJSONEncoder -from sec_certs.configuration import config +from sec_certs.config.configuration import config from sec_certs.serialization import serialize from sec_certs.dataset.cpe import CPEDataset diff --git a/sec_certs/dataset/fips.py b/sec_certs/dataset/fips.py index 354aec8d..9f39af5c 100644 --- a/sec_certs/dataset/fips.py +++ b/sec_certs/dataset/fips.py @@ -3,19 +3,17 @@ import logging import os from itertools import groupby from pathlib import Path -from typing import ClassVar, Tuple, List, Dict, Optional, Union -import json +from typing import Tuple, List, Dict, Optional, Union from bs4 import BeautifulSoup from graphviz import Digraph from sec_certs import constants as constants, parallel_processing as cert_processing, helpers as helpers -from sec_certs.configuration import config +from sec_certs.config.configuration import config from sec_certs.dataset.dataset import Dataset, logger from sec_certs.dataset.fips_algorithm import FIPSAlgorithmDataset from sec_certs.serialization import ComplexSerializableType, serialize from sec_certs.certificate.fips import FIPSCertificate -from sec_certs.dataset.cpe import CPEDataset class FIPSDataset(Dataset, ComplexSerializableType): diff --git a/sec_certs/dataset/fips_algorithm.py b/sec_certs/dataset/fips_algorithm.py index 42f1b22e..2ef3f22d 100644 --- a/sec_certs/dataset/fips_algorithm.py +++ b/sec_certs/dataset/fips_algorithm.py @@ -5,12 +5,11 @@ from typing import Dict, Union, List from bs4 import BeautifulSoup -import sec_certs.helpers from sec_certs import helpers as helpers, constants as constants, parallel_processing as cert_processing from sec_certs.dataset.dataset import Dataset from sec_certs.serialization import ComplexSerializableType, CustomJSONEncoder, CustomJSONDecoder from sec_certs.certificate.fips import FIPSCertificate -from sec_certs.configuration import config +from sec_certs.config.configuration import config class FIPSAlgorithmDataset(Dataset, ComplexSerializableType): diff --git a/tests/test_fips_oop.py b/tests/test_fips_oop.py index a212d5b9..e7f3a01c 100644 --- a/tests/test_fips_oop.py +++ b/tests/test_fips_oop.py @@ -4,7 +4,7 @@ from tempfile import TemporaryDirectory from sec_certs.dataset.fips import FIPSDataset from sec_certs.dataset.fips_algorithm import FIPSAlgorithmDataset -from sec_certs.configuration import config +from sec_certs.config.configuration import config from tests.fips_test_utils import generate_html |
