From 499def865a5782fb9f79f2b27af40525319feb5d Mon Sep 17 00:00:00 2001 From: WorldTeacher <41587052+WorldTeacher@users.noreply.github.com> Date: Mon, 1 Jul 2024 15:45:58 +0200 Subject: [PATCH] bugfix: fix bug where RDS_DATA would always fail on second run by having a global list --- src/transformers/transformers.py | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/transformers/transformers.py b/src/transformers/transformers.py index 463e695..7c481e5 100644 --- a/src/transformers/transformers.py +++ b/src/transformers/transformers.py @@ -133,8 +133,10 @@ class ARRAYData: return data except Exception: - print(f"ARRAYData.transform failed, {source}, {search}") - logger.log_exception(f"ARRAYData.transform failed, {source}, {search}") + # print(f"ARRAYData.transform failed, {source}, {search}") + logger.log_exception( + f"ARRAYData.transform failed, no string {search}, {source}, {search}" + ) return "" def _get_list_entry(source: str, search: str, entry: str) -> str: @@ -175,6 +177,19 @@ class ARRAYData: except Exception as e: return None + def _get_library_location(data): + try: + sig_data = ( + data.split("[allfields]")[1] + .split("[0] => ")[1] + .split("\n")[0] + .strip() + ) + signature_data = eval(sig_data) + return int(signature_data["so_standort"]) + except Exception as e: + return None + def _get_author(data): try: array = data.split("[au_display_short]")[1].split(")\n")[0].strip() @@ -217,6 +232,7 @@ class ARRAYData: pages=_get_list_entry(data, "[umfang]", "[0]").split(":")[0].strip(), signature=_get_signature(data), place=_get_list_entry(data, "[pp]", "[0]"), + library_location=_get_library_location(data), ) @@ -309,7 +325,8 @@ class BibTeXData: class RDSData: - retlist = [] + def __init__(self): + self.retlist = [] def transform(self, data: str): # rds_availability = RDS_AVAIL_DATA() @@ -386,6 +403,7 @@ class DictToTable: setattr(self, key, None) def transform(self, data: dict): + print(data) mode = data["mode"] self.reset() if mode == "book":