diff options
| author | GeorgeFI | 2023-10-22 14:43:42 +0200 |
|---|---|---|
| committer | GeorgeFI | 2023-10-22 14:43:42 +0200 |
| commit | ef9b405f9e9319d0464fc64acca313251973ef49 (patch) | |
| tree | d3b42c30b54a7da5d22fd0c7915550d20b7b6174 /src | |
| parent | 2783986d3d24f01ee16b9a237f883fe7bd6491c3 (diff) | |
| download | sec-certs-ef9b405f9e9319d0464fc64acca313251973ef49.tar.gz sec-certs-ef9b405f9e9319d0464fc64acca313251973ef49.tar.zst sec-certs-ef9b405f9e9319d0464fc64acca313251973ef49.zip | |
feat: Initial implementation of tool/dataset version check
Diffstat (limited to 'src')
| -rw-r--r-- | src/sec_certs/dataset/dataset.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sec_certs/dataset/dataset.py b/src/sec_certs/dataset/dataset.py index 9e49a347..d68aa34f 100644 --- a/src/sec_certs/dataset/dataset.py +++ b/src/sec_certs/dataset/dataset.py @@ -14,6 +14,7 @@ from pathlib import Path from typing import Any, Generic, Iterator, TypeVar, cast import pandas as pd +from setuptools_scm import get_version from sec_certs import constants from sec_certs.configuration import config @@ -50,6 +51,7 @@ class Dataset(Generic[CertSubType, AuxiliaryDatasetsSubType], ComplexSerializabl @dataclass class DatasetInternalState(ComplexSerializableType): + sec_certs_version: str = get_version(root="..", local_scheme="no-local-version") meta_sources_parsed: bool = False artifacts_downloaded: bool = False pdfs_converted: bool = False @@ -204,6 +206,12 @@ class Dataset(Generic[CertSubType, AuxiliaryDatasetsSubType], ComplexSerializabl @classmethod def from_json(cls: type[DatasetSubType], input_path: str | Path, is_compressed: bool = False) -> DatasetSubType: dset = cast("DatasetSubType", ComplexSerializableType.from_json(input_path, is_compressed)) + dset_version = dset.state.sec_certs_version + tool_version = get_version(root="..", local_scheme="no-local-version") + + if dset_version != tool_version: + logger.warning(f"Dataset version: {dset_version} does not match current version of tool: {tool_version}!") + dset._root_dir = Path(input_path).parent.absolute() dset._set_local_paths() return dset |
