From d29baf35fa5dd5b29b11094bf5efddd8f35bed5a Mon Sep 17 00:00:00 2001 From: arcangelo7 Date: Mon, 18 Mar 2024 02:20:41 +0100 Subject: [PATCH] fynamic supplier_prefix bugfix --- oc_ocdm/counter_handler/filesystem_counter_handler.py | 4 +++- oc_ocdm/prov/prov_set.py | 9 +++++---- pyproject.toml | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/oc_ocdm/counter_handler/filesystem_counter_handler.py b/oc_ocdm/counter_handler/filesystem_counter_handler.py index d59263d..e79d909 100644 --- a/oc_ocdm/counter_handler/filesystem_counter_handler.py +++ b/oc_ocdm/counter_handler/filesystem_counter_handler.py @@ -131,10 +131,12 @@ def increment_counter(self, entity_short_name: str, prov_short_name: str = "", i return self._add_number(file_path, identifier) def _get_info_path(self, short_name: str, supplier_prefix: str) -> str: + supplier_prefix = "" if supplier_prefix is None else supplier_prefix directory = self.info_dir if supplier_prefix == self.supplier_prefix else self.info_dir.replace(self.supplier_prefix, supplier_prefix, 1) return directory + self.info_files[short_name] def _get_prov_path(self, short_name: str, supplier_prefix: str) -> str: + supplier_prefix = "" if supplier_prefix is None else supplier_prefix directory = self.info_dir if supplier_prefix == self.supplier_prefix else self.info_dir.replace(self.supplier_prefix, supplier_prefix, 1) return directory + self.prov_files[short_name] @@ -346,4 +348,4 @@ def increment_metadata_counter(self, entity_short_name: str, dataset_name: str) raise ValueError("entity_short_name is not a known metadata short name!") file_path: str = self._get_metadata_path(entity_short_name, dataset_name) - return self._add_number(file_path, 1) + return self._add_number(file_path, 1) \ No newline at end of file diff --git a/oc_ocdm/prov/prov_set.py b/oc_ocdm/prov/prov_set.py index feef23f..fd0ad71 100644 --- a/oc_ocdm/prov/prov_set.py +++ b/oc_ocdm/prov/prov_set.py @@ -245,17 +245,17 @@ def _add_prov(self, graph_url: str, short_name: str, prov_subject: GraphEntity, except ValueError: res_count: int = -1 if isinstance(self.counter_handlers[prov_subject.short_name], SqliteCounterHandler): - cur_count: str = self.counter_handlers[prov_subject.short_name].read_counter(prov_subject, supplier_prefix=supplier_prefix) + cur_count: str = self.counter_handlers[prov_subject.short_name].read_counter(prov_subject) else: cur_count: str = self.counter_handlers[prov_subject.short_name].read_counter(prov_subject.short_name, "se", int(get_count(prov_subject.res)), supplier_prefix=supplier_prefix) if res_count > cur_count: if isinstance(self.counter_handlers[prov_subject.short_name], SqliteCounterHandler): - self.counter_handlers[prov_subject.short_name].set_counter(int(get_count(prov_subject.res)), prov_subject, supplier_prefix=supplier_prefix) + self.counter_handlers[prov_subject.short_name].set_counter(int(get_count(prov_subject.res)), prov_subject) else: self.counter_handlers[prov_subject.short_name].set_counter(res_count, prov_subject.short_name, "se", int(get_count(prov_subject.res)), supplier_prefix=supplier_prefix) return cur_g, count, label if isinstance(self.counter_handlers[prov_subject.short_name], SqliteCounterHandler): - count = str(self.counter_handlers[prov_subject.short_name].increment_counter(prov_subject, supplier_prefix=supplier_prefix)) + count = str(self.counter_handlers[prov_subject.short_name].increment_counter(prov_subject)) else: count = str(self.counter_handlers[prov_subject.short_name].increment_counter(prov_subject.short_name, "se", int(get_count(prov_subject.res)), supplier_prefix=supplier_prefix)) if self.wanted_label: @@ -289,7 +289,8 @@ def _retrieve_last_snapshot(self, prov_subject: URIRef) -> Optional[URIRef]: if isinstance(self.counter_handlers[subj_short_name], SqliteCounterHandler): last_snapshot_count: str = str(self.counter_handlers[subj_short_name].read_counter(prov_subject)) else: - last_snapshot_count: str = str(self.counter_handlers[subj_short_name].read_counter(subj_short_name, "se", int(subj_count))) + supplier_prefix = get_prefix(str(prov_subject)) + last_snapshot_count: str = str(self.counter_handlers[subj_short_name].read_counter(subj_short_name, "se", int(subj_count), supplier_prefix=supplier_prefix)) if int(last_snapshot_count) <= 0: return None else: diff --git a/pyproject.toml b/pyproject.toml index 7078d81..05fa4d1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "oc_ocdm" -version = "7.3.2" +version = "7.3.4" description = "Object mapping library for manipulating RDF graphs that are compliant with the OpenCitations datamodel." authors = [ "Silvio Peroni ",