Treeview angepasst, damit die Bezeichnung der obersten Baugruppe angezeigt wird, da dies bisher nicht der Fall war. Da die Bezeichnung nicht in der Baugruppen-JSON aufgeführt ist, ist es erforderlich die CSV mit den Teilestamm-Metadaten zur Baugruppennummer herunterzuladen. Damit dies möglich ist, wurde wurde in manage_configs.py eine neue Subclass 'TeilestammMetadata' ergänzt. In compare_lists.py wurden dabei weitere Flags ergänzt, mit denen gesteuert werden kann, ob die Bezeichnung aus der lokalen CSV-Datei gezogen werden sollen, oder ob die CSV mit jedem Programmlauf neu erstellt wird. Defaultmäßig wird sie mit jedem Programmlauf neu erstellt
This commit is contained in:
+34
-8
@@ -27,8 +27,10 @@ class JsonBasedConfig:
|
||||
|
||||
class CSVBasedConfig:
|
||||
|
||||
def __init__(self, config_dir, config_file):
|
||||
def __init__(self, config_dir: str, config_file: str):
|
||||
"""merke dir den Pfad zu den Configdateien"""
|
||||
self._config_dir = config_dir
|
||||
self._config_file = config_file
|
||||
self._config_path = os.path.join(config_dir, config_file)
|
||||
|
||||
def load_csv_from_file(self):
|
||||
@@ -62,9 +64,6 @@ class SivasAssemblyData(JsonBasedConfig):
|
||||
"""Liest die Baugruppen-JSON ein und gibt deren Informationen zurück"""
|
||||
if self._asm_data is None:
|
||||
|
||||
if not os.path.isfile(self._config_path):
|
||||
raise FileNotFoundError(f"{self._config_path} existiert nicht. Bitte prüfen, ob die Nummer richtig geschrieben wurde.")
|
||||
|
||||
if not self._load_local_json:
|
||||
self.create_asm_json()
|
||||
|
||||
@@ -182,8 +181,6 @@ class RuleDesignerDatabaseConfig(CSVBasedConfig):
|
||||
@property
|
||||
def ids(self):
|
||||
if self._ids is None:
|
||||
if not os.path.isfile(self._config_path):
|
||||
raise FileNotFoundError(f"{self._config_path} existiert nicht. Bitte Batchdatei unter 'bin/01_get_rd_dbase.bat' ausführen!")
|
||||
|
||||
if not self._load_local_csv:
|
||||
self.copy_csv_from_server()
|
||||
@@ -232,6 +229,37 @@ class MigrationStatus:
|
||||
return self._red_ids
|
||||
|
||||
|
||||
class TeilestammMetadata(CSVBasedConfig):
|
||||
def __init__(self, config_dir, config_file, load_local_csv=False):
|
||||
super().__init__(config_dir, config_file)
|
||||
self._load_local_csv = load_local_csv
|
||||
self._csv_data = None
|
||||
|
||||
@staticmethod
|
||||
def create_csvs(ids):
|
||||
"""Erstellt CSV-Datei(en) mit den Teilestamminformationen zu der / den angegebenen Teilenummer(n)"""
|
||||
try:
|
||||
update_database.get_sivas_teilestamm(ids)
|
||||
except:
|
||||
raise ValueError("CSV(s) konnte nicht generiert werden!")
|
||||
|
||||
@property
|
||||
def csv_data(self):
|
||||
"""Gibt CSV-Daten als Dataframe zurück"""
|
||||
if self._csv_data is None:
|
||||
|
||||
if not self._load_local_csv:
|
||||
self.create_csvs(self._config_file.removesuffix(".csv"))
|
||||
|
||||
self._csv_data = self.load_csv_from_file()
|
||||
return self._csv_data
|
||||
|
||||
def get_property_values(self, property_name) -> str:
|
||||
"""Gibt Wert aus der CSV für den angegebenen Spaltennamen zurück"""
|
||||
ret = self.csv_data[property_name][0]
|
||||
return ret
|
||||
|
||||
|
||||
class TOSGroupsConfig(JsonBasedConfig):
|
||||
"""Auslesen der Config Angaben zu den TOS Gruppen"""
|
||||
|
||||
@@ -595,5 +623,3 @@ class Configs:
|
||||
lines = f.read().splitlines()
|
||||
self._blacklist = lines
|
||||
return self._blacklist
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user