2025-03-05 14:42:16 +01:00

45 lines
1.3 KiB
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
MEAS_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")
# Main CFG
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",
})
# Measurement CFG
AppConfig.MEAS_CFG_PATH = path.join(AppConfig.CONFIG_DIR, "cpdctrl-gui-measurement.yaml")
AppConfig.MEAS_CFG = ConfigFile(AppConfig.MEAS_CFG_PATH, {})
@classmethod
def finalize(cls) -> None:
"""
Write configuration to file
"""
AppConfig.MAIN_CFG.save()
AppConfig.MEAS_CFG.save()