bugfix: fix bug where RDS_DATA would always fail on second run by having a global list

This commit is contained in:
WorldTeacher
2024-07-01 15:45:58 +02:00
parent 6fa3e18f22
commit 499def865a

View File

@@ -133,8 +133,10 @@ class ARRAYData:
return data return data
except Exception: except Exception:
print(f"ARRAYData.transform failed, {source}, {search}") # print(f"ARRAYData.transform failed, {source}, {search}")
logger.log_exception(f"ARRAYData.transform failed, {source}, {search}") logger.log_exception(
f"ARRAYData.transform failed, no string {search}, {source}, {search}"
)
return "" return ""
def _get_list_entry(source: str, search: str, entry: str) -> str: def _get_list_entry(source: str, search: str, entry: str) -> str:
@@ -175,6 +177,19 @@ class ARRAYData:
except Exception as e: except Exception as e:
return None 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): def _get_author(data):
try: try:
array = data.split("[au_display_short]")[1].split(")\n")[0].strip() 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(), pages=_get_list_entry(data, "[umfang]", "[0]").split(":")[0].strip(),
signature=_get_signature(data), signature=_get_signature(data),
place=_get_list_entry(data, "[pp]", "[0]"), place=_get_list_entry(data, "[pp]", "[0]"),
library_location=_get_library_location(data),
) )
@@ -309,7 +325,8 @@ class BibTeXData:
class RDSData: class RDSData:
retlist = [] def __init__(self):
self.retlist = []
def transform(self, data: str): def transform(self, data: str):
# rds_availability = RDS_AVAIL_DATA() # rds_availability = RDS_AVAIL_DATA()
@@ -386,6 +403,7 @@ class DictToTable:
setattr(self, key, None) setattr(self, key, None)
def transform(self, data: dict): def transform(self, data: dict):
print(data)
mode = data["mode"] mode = data["mode"]
self.reset() self.reset()
if mode == "book": if mode == "book":