diff options
| author | Ján Jančár | 2024-02-01 18:58:46 +0100 |
|---|---|---|
| committer | GitHub | 2024-02-01 18:58:46 +0100 |
| commit | 6d129a19dc77f15981cbdb27ace62e91206deac7 (patch) | |
| tree | 0a4480530cf860dfc03ce123a07a71e139a9946c | |
| parent | 9b088033a391871be67e736280a840b1b690011e (diff) | |
| parent | 748d259c146cabbbe64808cc3ae4620ab1374855 (diff) | |
| download | sec-certs-6d129a19dc77f15981cbdb27ace62e91206deac7.tar.gz sec-certs-6d129a19dc77f15981cbdb27ace62e91206deac7.tar.zst sec-certs-6d129a19dc77f15981cbdb27ace62e91206deac7.zip | |
Merge pull request #385 from crocs-muni/fix/pydantic-migrate
Fix a bunch of deprecation warnings
| -rw-r--r-- | src/sec_certs/configuration.py | 13 | ||||
| -rw-r--r-- | src/sec_certs/dataset/cc.py | 6 | ||||
| -rw-r--r-- | src/sec_certs/dataset/fips.py | 4 | ||||
| -rw-r--r-- | src/sec_certs/sample/cc_scheme.py | 2 |
4 files changed, 12 insertions, 13 deletions
diff --git a/src/sec_certs/configuration.py b/src/sec_certs/configuration.py index 3ebb22bd..81fac197 100644 --- a/src/sec_certs/configuration.py +++ b/src/sec_certs/configuration.py @@ -6,7 +6,7 @@ from typing import Literal, Optional import yaml from pydantic import AnyHttpUrl, Field -from pydantic_settings import BaseSettings +from pydantic_settings import BaseSettings, SettingsConfigDict class Configuration(BaseSettings): @@ -15,8 +15,7 @@ class Configuration(BaseSettings): While not a singleton, the `config` instance from this module is meant to be primarily used. """ - class Config: - env_prefix = "seccerts_" + model_config = SettingsConfigDict(env_prefix="seccerts_") log_filepath: Path = Field( "./cert_processing_log.log", @@ -122,12 +121,12 @@ class Configuration(BaseSettings): """ Returns keys of the config that have non-default value, i.e. were provided as kwargs, env. vars. or additionaly set. """ - return {key for key, value in Configuration.__fields__.items() if getattr(self, key) != value.default} + return {key for key, value in Configuration.model_fields.items() if getattr(self, key) != value.default} def _set_attrs_from_cfg(self, other_cfg: Configuration, fields_to_set: set[str] | None) -> None: if not fields_to_set: - fields_to_set = set(Configuration.__fields__.keys()) - for field in [x for x in other_cfg.__fields__ if x in fields_to_set]: + fields_to_set = set(Configuration.model_fields.keys()) + for field in [x for x in other_cfg.model_fields if x in fields_to_set]: setattr(self, field, getattr(other_cfg, field)) def load_from_yaml(self, yaml_path: str | Path) -> None: @@ -139,7 +138,7 @@ class Configuration(BaseSettings): """ with Path(yaml_path).open("r") as handle: data = yaml.safe_load(handle) - other_cfg = Configuration.parse_obj(data) + other_cfg = Configuration.model_validate(data) keys_to_rewrite = set(data.keys()).union(other_cfg._get_nondefault_keys()) self._set_attrs_from_cfg(other_cfg, keys_to_rewrite) diff --git a/src/sec_certs/dataset/cc.py b/src/sec_certs/dataset/cc.py index 4eee93b6..398f2435 100644 --- a/src/sec_certs/dataset/cc.py +++ b/src/sec_certs/dataset/cc.py @@ -83,8 +83,8 @@ class CCDataset(Dataset[CCCertificate, CCAuxiliaryDatasets], ComplexSerializable df = pd.DataFrame([x.pandas_tuple for x in self.certs.values()], columns=CCCertificate.pandas_columns) df = df.set_index("dgst") - df.not_valid_before = pd.to_datetime(df.not_valid_before, infer_datetime_format=True, errors="coerce") - df.not_valid_after = pd.to_datetime(df.not_valid_after, infer_datetime_format=True, errors="coerce") + df.not_valid_before = pd.to_datetime(df.not_valid_before, errors="coerce") + df.not_valid_after = pd.to_datetime(df.not_valid_after, errors="coerce") df = df.astype( {"category": "category", "status": "category", "scheme": "category", "cert_lab": "category"} ).fillna(value=np.nan) @@ -905,7 +905,7 @@ class CCDatasetMaintenanceUpdates(CCDataset, ComplexSerializableType): df = df.set_index("dgst") df.index.name = "dgst" - df.maintenance_date = pd.to_datetime(df.maintenance_date, infer_datetime_format=True, errors="coerce") + df.maintenance_date = pd.to_datetime(df.maintenance_date, errors="coerce") return df.fillna(value=np.nan) @classmethod diff --git a/src/sec_certs/dataset/fips.py b/src/sec_certs/dataset/fips.py index a3d24b15..77f38754 100644 --- a/src/sec_certs/dataset/fips.py +++ b/src/sec_certs/dataset/fips.py @@ -326,8 +326,8 @@ class FIPSDataset(Dataset[FIPSCertificate, FIPSAuxiliaryDatasets], ComplexSerial df = pd.DataFrame([x.pandas_tuple for x in self.certs.values()], columns=FIPSCertificate.pandas_columns) df = df.set_index("dgst") - df.date_validation = pd.to_datetime(df.date_validation, infer_datetime_format=True, errors="coerce") - df.date_sunset = pd.to_datetime(df.date_sunset, infer_datetime_format=True, errors="coerce") + df.date_validation = pd.to_datetime(df.date_validation, errors="coerce") + df.date_sunset = pd.to_datetime(df.date_sunset, errors="coerce") # Manually delete one certificate with bad embodiment (seems to have many blank fields) df = df.loc[~(df.embodiment == "*")] diff --git a/src/sec_certs/sample/cc_scheme.py b/src/sec_certs/sample/cc_scheme.py index 41b16aec..8d18b5d0 100644 --- a/src/sec_certs/sample/cc_scheme.py +++ b/src/sec_certs/sample/cc_scheme.py @@ -236,7 +236,7 @@ def _get_france(url, enhanced, artifacts) -> list[dict[str, Any]]: # noqa: C901 complement_info = row.find("div", class_="info-complement") for li in complement_info.find_all("li"): label = li.find("span").text - value = sns(li.find(text=True, recursive=False)) + value = sns(li.find(string=True, recursive=False)) if "Commanditaire" in label: cert["sponsor"] = value elif "Développeur" in label: |
