diff --git a/lib/DB/DbManager.py b/lib/DB/DbManager.py index c01538a..521e4f0 100644 --- a/lib/DB/DbManager.py +++ b/lib/DB/DbManager.py @@ -1,28 +1,26 @@ # This Python file uses the following encoding: utf-8 -import toml import mysql.connector - class DbManager(object): __connection = None __con_param = None - def __new__ (cls): + __dbmanager = None - if not hasattr(cls, "__instance"): - cls.__instance = super().__new__(cls) - return cls.__instance + def __new__(cls, dbconf = None): + if cls.__dbmanager is None: + cls.__dbmanager = super(DbManager, cls).__new__(cls) + cls.__dbmanager.__initializeConfig(dbconf) - #def __init__ (self, dbconf, *args): - @classmethod - def connectDB(cls, dbconf): + return cls.__dbmanager - con_param = cls.__initializeConfig(dbconf) - cls.__connection = mysql.connector.connect(**con_param) + def getConnection(cls): return cls.__connection - def __initializeConfig(dbconf): + def __initializeConfig(cls, dbconf): + cls.__con_param = { 'user': dbconf['DB_USER'], 'password': dbconf['DB_PASS'], + 'port': int (dbconf['DB_PORT']), 'host': dbconf['DB_HOST'], + 'database': dbconf['DB_NAME'] + } + cls.__connection = mysql.connector.connect(**cls.__con_param) - con_param = {'user': dbconf['DB_USER'], 'password': dbconf['DB_PASS'], 'port': int (dbconf['DB_PORT']), 'host': dbconf['DB_HOST'], 'database': dbconf['DB_NAME']} - - return con_param diff --git a/main.py b/main.py index 193a5a7..64a1718 100644 --- a/main.py +++ b/main.py @@ -48,9 +48,11 @@ if __name__ == "__main__": bad_config = True bm = False else: - con = DbManager().connectDB(config.getConfig()['database']) - bm = BusinessModel(con) + dbconf = config.getConfig()['database'] + DbManager(dbconf) + bm = BusinessModel(DbManager().getConnection()) + #print(con is con2) engine.rootContext().setContextProperty("bm", bm) engine.rootContext().setContextProperty("bad_config", bad_config) # print(f"Fehler: {i}")