aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGeorgeFI2023-10-22 14:43:42 +0200
committerGeorgeFI2023-10-22 14:43:42 +0200
commitef9b405f9e9319d0464fc64acca313251973ef49 (patch)
treed3b42c30b54a7da5d22fd0c7915550d20b7b6174 /src
parent2783986d3d24f01ee16b9a237f883fe7bd6491c3 (diff)
downloadsec-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.py8
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