cpdctrl-gui/app/utility/config.py
2025-02-25 12:12:29 +01:00

37 lines
1017 B
Python

from os import path, environ
from cpdctrl.utility.config_file import ConfigFile
class AppConfig:
"""
Configuration File
"""
APP_NAME: str = "cpdctrl-gui"
CONFIG_DIR: str = path.expanduser("~/.config/cpdctrl")
MAIN_CFG: ConfigFile = None
@classmethod
def initialize(cls) -> None:
"""
Perform any necessary initializations here, e.g.:
- Loading settings from a file
"""
if 'XDG_CONFIG_HOME' in environ.keys():
AppConfig.CONFIG_DIR = path.join(environ["XDG_CONFIG_HOME"], "cpdctrl")
AppConfig.MAIN_CFG_PATH = path.join(AppConfig.CONFIG_DIR, "cpdctrl-gui.yaml")
AppConfig.MAIN_CFG = ConfigFile(AppConfig.MAIN_CFG_PATH, {
"voltage_measurement_device_auto_reconnect": True,
"led_device_auto_reconnect": True,
"datadir": "~/data2",
})
@classmethod
def finalize(cls) -> None:
"""
Write configuration to file
"""
AppConfig.MAIN_CFG.save()