# This Python file uses the following encoding: utf-8 import toml from platformdirs import user_config_dir from pathlib import Path from PySide6.QtCore import QObject, Slot from .Vermasseln import Vermasseln class ConfigLoader(QObject): __config = None def __init__(self): super().__init__() self.config_dir = user_config_dir() + '/pyqcrm' #user_config_dir = Funktion platformdirs config_dir = Path(self.config_dir) if config_dir.exists(): self.__configLoad() else: config_dir.mkdir(0o750, True, True) @Slot(dict) def setConfig(self, app_config): try: with open (self.config_dir + '/pyqcrm.toml', 'w') as f: config = Vermasseln().oscarVermasseln(toml.dumps(app_config)) f.write(config) except FileNotFoundError: print("Konnte die Konfiguration nicht speichern.") def __configLoad(self): try: with open (self.config_dir + '/pyqcrm.toml', 'r') as f: config = f.read() self.__config = toml.loads(Vermasseln().entschluesseln(config)) except FileNotFoundError: print("Konnte die Konfiguration nicht laden.") def getConfig(self): return self.__config def createConfig(self): with open(self.config_dir + '/pyqcrm.toml', "w") as datei: datei.write("[pyqcrm]")