From b45a4895f511ff89a29cb282b6a890067021d6ed Mon Sep 17 00:00:00 2001 From: Vxrtrauter Date: Fri, 10 Oct 2025 15:21:48 +0200 Subject: [PATCH] fully impl settings file read & write --- core/utils/config/config.py | 20 ++++++++++++++++++++ main.py | 2 ++ 2 files changed, 22 insertions(+) diff --git a/core/utils/config/config.py b/core/utils/config/config.py index 594cb23..1ce51a9 100644 --- a/core/utils/config/config.py +++ b/core/utils/config/config.py @@ -20,3 +20,23 @@ def create_config(): config.write(cf) +def read_config(): + + config = configparser.ConfigParser() + + if platform.system() == "Windows": + config_dir = os.environ.get("APPDATA", os.path.expanduser("~\\AppData\\Roaming")) + else: + config_dir = os.environ.get("XDG_CONFIG_HOME", os.path.expanduser("~/.config")) + settings_path = os.path.join(config_dir, "SoftwareManager") + config_file = os.path.join(settings_path, "config.yml") + + if not os.path.exists(config_file): + create_config() + + config.read(config_file) + + state.debug = config.getboolean("General", "debug") + state.api_url = config.get("General", "api_url") + state.aria2_threads = config.getint("General", "aria2_threads") + diff --git a/main.py b/main.py index 57a4d27..9cc7612 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,7 @@ from core.interface.gui import MainWindow from core.utils.data.state import state from core.network.aria2_integration import aria2server +from core.utils.config.config import read_config from PySide6 import QtWidgets import qdarktheme import darkdetect @@ -39,6 +40,7 @@ def keyboardinterrupthandler(signum, frame): if __name__ == "__main__": + read_config() if state.debug: print("Starting Aria2 Server") state.aria2process = run_aria2server()