From b2946a4c597c599aa5a229015d463752d8820479 Mon Sep 17 00:00:00 2001 From: Sven Riwoldt Date: Mon, 9 Dec 2024 14:00:52 +0000 Subject: [PATCH] Beim JSON kollabiert es --- CMDB2CSV_Aufbaumaster_0.1.py | 57 ++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/CMDB2CSV_Aufbaumaster_0.1.py b/CMDB2CSV_Aufbaumaster_0.1.py index 7ac169d0..4462183a 100644 --- a/CMDB2CSV_Aufbaumaster_0.1.py +++ b/CMDB2CSV_Aufbaumaster_0.1.py @@ -11,25 +11,72 @@ import logging class A2CSV(QDialog): # erbt von QDialog def __init__(self): - # super (MainUI, self).__init__() #Aufrufen des Konstruktors von QDialog super().__init__() loadUi("AM2CSV.ui", self) self.pB_open.clicked.connect(self.open_file_dialog) self.filename = None self.onlyfilename = None self.path = None - + self.vte = None + self.cmdb = None + self.gg = self.rB_gg + self.gg.toggled.connect(self.radio_button_activated) + self.erw = self.rB_erweiterungen + self.erw.toggled.connect(self.radio_button_activated) + + self.vte_gg = None + self.cmdb_gg = None + + self.jdata = None + + self.objecttypes: list = [] + self.read_json() + self.objecttypes = self.jdata["objecttypes"] + + + def read_json(self): + with open("CMDB_vars.json", "r") as file: + self.jdata = json.load(file) + ic(self.jdata) def open_file_dialog(self): - self.filename, _ = QFileDialog.getOpenFileName(self,"Aufbaumaster","\\Volumes\\Daten01\\Documents\\toCSV","Images (*.xls *.xlsx *.xlsb)") - #self.lblCMDBPath.setText(self.filename) - + # Nur xlsb + self.filename, _ = QFileDialog.getOpenFileName(self,"Aufbaumaster","\\Volumes\\Daten01\\Documents\\toCSV","Excel (*.xlsb)") if self.filename: self.path = Path(self.filename) self.onlyfilename = os.path.basename(self.filename) self.lb_selected_aufbaumaster.setText(self.onlyfilename) + + self.collect_data() + + + def collect_data(self): + # Reiter VTE und CMDB + # VTE "nur" für die Config-ID + self.vte = pd.read_excel(self.filename, header=7, na_filter=False, sheet_name='VTE-Input',usecols=['Hostname', 'Gruppierung', 'CONFIG-ID', 'CMDB Status'], engine='pyxlsb') + + self.cmdb = pd.read_excel(self.filename, header=2, sheet_name="CMDB", engine='pyxlsb') + + ic(self.vte) + ic(self.cmdb) + + def collect_gg(self): + # Nach relevanten Spalten filtern Grundgeraete + # Sheet VTE + self.vte_gg = self.vte[self.vte['Gruppierung'] == 'Grundgerät'] + # Sheet CMDB + self.cmdb_gg = self.cmdb[self.cmdb['Filter'] == 'Grundgerät'] + + + def radio_button_activated(self): + if self.gg.isChecked(): + + self.collect_gg() + ic(self.vte_gg) + elif self.erw.isChecked(): + ic("erw") if __name__ == "__main__":