Beginn Json und VM
This commit is contained in:
@@ -1,9 +1,3 @@
|
|||||||
from cgitb import handler
|
|
||||||
from idlelib.browser import file_open
|
|
||||||
|
|
||||||
from pandas.io.formats.info import INFO_DOCSTRING
|
|
||||||
from venv import logger
|
|
||||||
|
|
||||||
from PyQt5.QtWidgets import QApplication, QDialog, QFileDialog
|
from PyQt5.QtWidgets import QApplication, QDialog, QFileDialog
|
||||||
from PyQt5.uic import loadUi
|
from PyQt5.uic import loadUi
|
||||||
import sys, os, re
|
import sys, os, re
|
||||||
@@ -11,13 +5,11 @@ from pathlib import Path
|
|||||||
import pandas as pd
|
import pandas as pd
|
||||||
from icecream import ic
|
from icecream import ic
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import logging
|
import json
|
||||||
|
|
||||||
from venv3_12.Scripts.bottle import DEBUG
|
|
||||||
|
|
||||||
|
|
||||||
class MainUI(QDialog): # erbt von QDialog
|
class MainUI(QDialog): # erbt von QDialog
|
||||||
def __init__(self,log_file='Aufbaumaster2CSV.log'):
|
def __init__(self):
|
||||||
# super (MainUI, self).__init__() #Aufrufen des Konstruktors von QDialog
|
# super (MainUI, self).__init__() #Aufrufen des Konstruktors von QDialog
|
||||||
super().__init__()
|
super().__init__()
|
||||||
loadUi("Aufbaumaster2CSV.ui", self)
|
loadUi("Aufbaumaster2CSV.ui", self)
|
||||||
@@ -31,6 +23,8 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
self.df_cmdb_erw = None
|
self.df_cmdb_erw = None
|
||||||
self.dfb_gg = None
|
self.dfb_gg = None
|
||||||
self.dfb_erw = None
|
self.dfb_erw = None
|
||||||
|
self.df_vte_vm = None
|
||||||
|
self.df_cmdb_vm = None
|
||||||
self.openBtn.clicked.connect(self.open_file_dialog)
|
self.openBtn.clicked.connect(self.open_file_dialog)
|
||||||
self.saveBtn.clicked.connect(self.save_file_dialog)
|
self.saveBtn.clicked.connect(self.save_file_dialog)
|
||||||
self.filter = "Hostnamen"
|
self.filter = "Hostnamen"
|
||||||
@@ -42,34 +36,9 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
self.i = 1
|
self.i = 1
|
||||||
self.temp = ''
|
self.temp = ''
|
||||||
|
|
||||||
logging.basicConfig(encoding = "utf-8",filemode = "a",format = "{asctime} - {levelname} - {message}",style = "{",datefmt = "%Y-%m-%d %H:%M",)
|
with open("CMDB_vars.json", "r") as file:
|
||||||
logger = logging.getLogger("Aufbaumaster2CSV")
|
self.data = json.load(file)
|
||||||
|
print(self.data)
|
||||||
|
|
||||||
file_handler = logging.FileHandler(log_file)
|
|
||||||
file_handler.setLevel(logging.INFO)
|
|
||||||
if not logger.hasHandlers():
|
|
||||||
self.logger.addHandler(file_handler)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Logging
|
|
||||||
#self.logger = logging.getLogger()
|
|
||||||
#self.logger.setLevel(logging.INFO)
|
|
||||||
#self.formatter = logging.Formatter('%(asctime)s | %(levelname)s | %(message)s')
|
|
||||||
|
|
||||||
#self.stdout_handler = logging.StreamHandler(sys.stdout)
|
|
||||||
#self.stdout_handler.setLevel(logging.DEBUG)
|
|
||||||
#self.stdout_handler.setFormatter(self.formatter)
|
|
||||||
|
|
||||||
#self.file_handler = logging.FileHandler('Aufbaumaster2CSV.log')
|
|
||||||
#self.file_handler.setLevel(logging.DEBUG)
|
|
||||||
#self.file_handler.setFormatter(self.formatter)
|
|
||||||
|
|
||||||
#self.logger.addHandler(self.file_handler)
|
|
||||||
#self.logger.addHandler(self.stdout_handler)
|
|
||||||
|
|
||||||
|
|
||||||
def open_file_dialog(self):
|
def open_file_dialog(self):
|
||||||
self.filename, _ = QFileDialog.getOpenFileName(
|
self.filename, _ = QFileDialog.getOpenFileName(
|
||||||
@@ -88,6 +57,14 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
self.collect_allgemein()
|
self.collect_allgemein()
|
||||||
self.collect_cmdb_daten_gg()
|
self.collect_cmdb_daten_gg()
|
||||||
self.collect_cmdb_daten_erw()
|
self.collect_cmdb_daten_erw()
|
||||||
|
self.collect_vm()
|
||||||
|
|
||||||
|
def collect_vm(self):
|
||||||
|
self.df_vte_vm= self.df_vte[self.df_vte['Gruppierung'] == 'VM']
|
||||||
|
self.df_cmdb_vm = self.df_cmdb[self.df_cmdb['Filter'] == 'VM']
|
||||||
|
|
||||||
|
self.df_vte_vm = self.df_vte_vm.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||||
|
self.df_cmdb_vm = self.df_cmdb_vm.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||||
|
|
||||||
def collect_cmdb_daten_gg(self):
|
def collect_cmdb_daten_gg(self):
|
||||||
# Einlesen der Sheets allgemein
|
# Einlesen der Sheets allgemein
|
||||||
@@ -98,6 +75,7 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
# Sheet CMDB
|
# Sheet CMDB
|
||||||
self.df_cmdb_gg = self.df_cmdb[self.df_cmdb['Filter'] == 'Grundgerät']
|
self.df_cmdb_gg = self.df_cmdb[self.df_cmdb['Filter'] == 'Grundgerät']
|
||||||
|
|
||||||
|
|
||||||
# Führende Leerzeichen in allen Spalten entfernen
|
# Führende Leerzeichen in allen Spalten entfernen
|
||||||
self.df_vte_gg = self.df_vte_gg.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
self.df_vte_gg = self.df_vte_gg.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||||
self.df_cmdb_gg = self.df_cmdb_gg.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
self.df_cmdb_gg = self.df_cmdb_gg.apply(lambda x: x.str.lstrip() if x.dtype == "object" else x)
|
||||||
@@ -221,10 +199,12 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
def montageort(self, montage):
|
def montageort(self, montage):
|
||||||
|
|
||||||
# Fehlerbereinigung
|
# Fehlerbereinigung
|
||||||
# ic("Montage: ", montage)
|
ic("Montage: ", montage)
|
||||||
if montage['ID\nStandort']not in ("Ber-PS", "Bon-BTW"):
|
if montage['ID\nStandort'] not in ("Ber-PS", "Bon-BTW", "KS-FRA", "KS-BLN", "KS-DRE", "KS-LEV"):
|
||||||
print("Kein Standort P40 oder BTW")
|
print("Kein Standort")
|
||||||
sys.exit(0)
|
#sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if len((montage['Montageort'][8:13])) != 2:
|
if len((montage['Montageort'][8:13])) != 2:
|
||||||
montage['HE'] = montage['Montageort'][8:10]
|
montage['HE'] = montage['Montageort'][8:10]
|
||||||
@@ -481,6 +461,9 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
def korrektur_sfp(self,sfp):
|
def korrektur_sfp(self,sfp):
|
||||||
self.configid = sfp['CONFIG-ID']
|
self.configid = sfp['CONFIG-ID']
|
||||||
|
|
||||||
|
# Auf dem Mach funktioniert die Zeile
|
||||||
|
# return [np.nan] * len(sfp)
|
||||||
|
|
||||||
if sfp['Serien-Nr.'] in ('', np.nan, 'bitte nachtragen'):
|
if sfp['Serien-Nr.'] in ('', np.nan, 'bitte nachtragen'):
|
||||||
if self.i == 1:
|
if self.i == 1:
|
||||||
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
||||||
@@ -491,8 +474,7 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
if self.temp in self.objdict:
|
if self.temp in self.objdict:
|
||||||
print("Drin ",self.temp)
|
print("Drin ",self.temp)
|
||||||
else:
|
else:
|
||||||
# self.logger.error("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
print("Nicht drin ",self.temp)
|
||||||
return [np.nan] * len(sfp)
|
|
||||||
elif self.i !=1 and self.temp == self.configid:
|
elif self.i !=1 and self.temp == self.configid:
|
||||||
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
||||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||||
@@ -500,46 +482,45 @@ class MainUI(QDialog): # erbt von QDialog
|
|||||||
if self.temp in self.objdict:
|
if self.temp in self.objdict:
|
||||||
print("Drin ",self.temp)
|
print("Drin ",self.temp)
|
||||||
else:
|
else:
|
||||||
# self.logger.error("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
print("Nicht drin ",self.temp)
|
||||||
return [np.nan] * len(sfp)
|
|
||||||
self.i = self.i + 1
|
self.i = self.i + 1
|
||||||
elif self.i !=1 and self.temp != self.configid:
|
elif self.i !=1 and self.temp != self.configid:
|
||||||
self.i = 1
|
self.i = 1
|
||||||
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
||||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||||
self.temp = sfp['CONFIG-ID']
|
self.temp = sfp['CONFIG-ID']
|
||||||
|
|
||||||
if self.temp in self.objdict:
|
|
||||||
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
||||||
|
if self.temp in self.objdict:
|
||||||
print("Drin ",self.temp)
|
print("Drin ",self.temp)
|
||||||
else:
|
else:
|
||||||
# self.logger.error("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
print("Nicht drin ",self.temp)
|
||||||
return [np.nan] * len(sfp)
|
|
||||||
|
|
||||||
self.i = self.i + 1
|
self.i = self.i + 1
|
||||||
else:
|
else:
|
||||||
if self.temp != self.configid:
|
if self.temp != self.configid:
|
||||||
self.i = 1
|
self.i = 1
|
||||||
|
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||||
|
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
||||||
if self.temp in self.objdict:
|
if self.temp in self.objdict:
|
||||||
print("Drin ",self.temp)
|
print("Drin ",self.temp)
|
||||||
sfp['Objekttyp (CMDB)'] = self.read_dict(self.temp)
|
|
||||||
else:
|
else:
|
||||||
self.logger.info("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
print("Nicht drin ",self.temp)
|
||||||
return [np.nan] * len(sfp)
|
|
||||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
|
||||||
self.i = self.i + 1
|
self.i = self.i + 1
|
||||||
self.temp = self.configid
|
self.temp = self.configid
|
||||||
elif self.temp == self.configid:
|
elif self.temp == self.configid:
|
||||||
if self.temp in self.objdict:
|
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||||
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
||||||
|
if self.temp in self.objdict:
|
||||||
print("Drin ",self.temp)
|
print("Drin ",self.temp)
|
||||||
else:
|
else:
|
||||||
self.logger.info("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
print("Nicht drin ",self.temp)
|
||||||
return [np.nan] * len(sfp)
|
|
||||||
|
|
||||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
|
||||||
self.i = self.i + 1
|
self.i = self.i + 1
|
||||||
self.temp = self.configid
|
self.temp = self.configid
|
||||||
|
|
||||||
|
# if sfp['Objekttyp (CMDB)'] == np.nan:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return sfp
|
return sfp
|
||||||
|
|
||||||
def read_dict(self,sfp):
|
def read_dict(self,sfp):
|
||||||
|
|||||||
Reference in New Issue
Block a user