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.uic import loadUi
|
||||
import sys, os, re
|
||||
@@ -11,13 +5,11 @@ from pathlib import Path
|
||||
import pandas as pd
|
||||
from icecream import ic
|
||||
import numpy as np
|
||||
import logging
|
||||
|
||||
from venv3_12.Scripts.bottle import DEBUG
|
||||
import json
|
||||
|
||||
|
||||
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().__init__()
|
||||
loadUi("Aufbaumaster2CSV.ui", self)
|
||||
@@ -31,6 +23,8 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
self.df_cmdb_erw = None
|
||||
self.dfb_gg = None
|
||||
self.dfb_erw = None
|
||||
self.df_vte_vm = None
|
||||
self.df_cmdb_vm = None
|
||||
self.openBtn.clicked.connect(self.open_file_dialog)
|
||||
self.saveBtn.clicked.connect(self.save_file_dialog)
|
||||
self.filter = "Hostnamen"
|
||||
@@ -42,34 +36,9 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
self.i = 1
|
||||
self.temp = ''
|
||||
|
||||
logging.basicConfig(encoding = "utf-8",filemode = "a",format = "{asctime} - {levelname} - {message}",style = "{",datefmt = "%Y-%m-%d %H:%M",)
|
||||
logger = logging.getLogger("Aufbaumaster2CSV")
|
||||
|
||||
|
||||
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)
|
||||
|
||||
with open("CMDB_vars.json", "r") as file:
|
||||
self.data = json.load(file)
|
||||
print(self.data)
|
||||
|
||||
def open_file_dialog(self):
|
||||
self.filename, _ = QFileDialog.getOpenFileName(
|
||||
@@ -88,6 +57,14 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
self.collect_allgemein()
|
||||
self.collect_cmdb_daten_gg()
|
||||
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):
|
||||
# Einlesen der Sheets allgemein
|
||||
@@ -98,6 +75,7 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
# Sheet CMDB
|
||||
self.df_cmdb_gg = self.df_cmdb[self.df_cmdb['Filter'] == 'Grundgerät']
|
||||
|
||||
|
||||
# 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_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):
|
||||
|
||||
# Fehlerbereinigung
|
||||
# ic("Montage: ", montage)
|
||||
if montage['ID\nStandort']not in ("Ber-PS", "Bon-BTW"):
|
||||
print("Kein Standort P40 oder BTW")
|
||||
sys.exit(0)
|
||||
ic("Montage: ", montage)
|
||||
if montage['ID\nStandort'] not in ("Ber-PS", "Bon-BTW", "KS-FRA", "KS-BLN", "KS-DRE", "KS-LEV"):
|
||||
print("Kein Standort")
|
||||
#sys.exit(0)
|
||||
|
||||
|
||||
else:
|
||||
if len((montage['Montageort'][8:13])) != 2:
|
||||
montage['HE'] = montage['Montageort'][8:10]
|
||||
@@ -481,6 +461,9 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
def korrektur_sfp(self,sfp):
|
||||
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 self.i == 1:
|
||||
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
||||
@@ -491,8 +474,7 @@ class MainUI(QDialog): # erbt von QDialog
|
||||
if self.temp in self.objdict:
|
||||
print("Drin ",self.temp)
|
||||
else:
|
||||
# self.logger.error("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
||||
return [np.nan] * len(sfp)
|
||||
print("Nicht drin ",self.temp)
|
||||
elif self.i !=1 and self.temp == self.configid:
|
||||
sfp['Serien-Nr.'] = 'dummy' + 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:
|
||||
print("Drin ",self.temp)
|
||||
else:
|
||||
# self.logger.error("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
||||
return [np.nan] * len(sfp)
|
||||
print("Nicht drin ",self.temp)
|
||||
self.i = self.i + 1
|
||||
elif self.i !=1 and self.temp != self.configid:
|
||||
self.i = 1
|
||||
sfp['Serien-Nr.'] = 'dummy' + str(self.i)
|
||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||
self.temp = sfp['CONFIG-ID']
|
||||
|
||||
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
||||
if self.temp in self.objdict:
|
||||
sfp['Objekttyp (CMDB)'] = self.read_dict(self.temp)
|
||||
print("Drin ",self.temp)
|
||||
print("Drin ",self.temp)
|
||||
else:
|
||||
# self.logger.error("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
||||
return [np.nan] * len(sfp)
|
||||
|
||||
print("Nicht drin ",self.temp)
|
||||
self.i = self.i + 1
|
||||
else:
|
||||
if self.temp != self.configid:
|
||||
self.i = 1
|
||||
if self.temp in self.objdict:
|
||||
print("Drin ", self.temp)
|
||||
sfp['Objekttyp (CMDB)'] = self.read_dict(self.temp)
|
||||
else:
|
||||
self.logger.info("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
||||
return [np.nan] * len(sfp)
|
||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
||||
if self.temp in self.objdict:
|
||||
print("Drin ",self.temp)
|
||||
else:
|
||||
print("Nicht drin ",self.temp)
|
||||
self.i = self.i + 1
|
||||
self.temp = self.configid
|
||||
elif self.temp == self.configid:
|
||||
if self.temp in self.objdict:
|
||||
sfp['Objekttyp (CMDB)'] = self.read_dict(self.temp)
|
||||
print("Drin ", self.temp)
|
||||
else:
|
||||
self.logger.info("Fehlende Zuordnung zu Grundgerät im Aufbaumaster fehlt: ", sfp)
|
||||
return [np.nan] * len(sfp)
|
||||
|
||||
sfp['Bezeichner'] = "SFP" + str(self.i)
|
||||
sfp['Objekttyp (CMDB)']=self.read_dict(self.temp)
|
||||
if self.temp in self.objdict:
|
||||
print("Drin ",self.temp)
|
||||
else:
|
||||
print("Nicht drin ",self.temp)
|
||||
self.i = self.i + 1
|
||||
self.temp = self.configid
|
||||
|
||||
# if sfp['Objekttyp (CMDB)'] == np.nan:
|
||||
|
||||
|
||||
|
||||
|
||||
return sfp
|
||||
|
||||
def read_dict(self,sfp):
|
||||
|
||||
Reference in New Issue
Block a user