From 0e80ba0b0d1e5dcbabd758b61a7a1b6a5460f7c1 Mon Sep 17 00:00:00 2001 From: furtest Date: Sat, 3 Jan 2026 17:18:19 +0100 Subject: [PATCH] config : use the defaults from defaults.py Remove the defaults from the dataclasses as they are redundent with the fallbacks of configparser. Use the values in defaults.py as the fallbacks instead of hardcoded values. --- src/unisync/config.py | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/unisync/config.py b/src/unisync/config.py index 4e1bf2f..3294807 100644 --- a/src/unisync/config.py +++ b/src/unisync/config.py @@ -7,16 +7,18 @@ from pathlib import Path import ipaddress import configparser +from unisync.defaults import * + @dataclass class ServerConfig: """ Dataclass keeping the config for connecting to the server """ user: str - sshargs: str = "" - hostname: str = "" - ip: str = "" - port: int = 22 + sshargs: str + hostname: str + ip: str + port: int def __post_init__(self): """ @@ -44,15 +46,15 @@ class UnisonConfig: """ Dataclass keeping unison specific configurations """ - bools: list = field(default_factory=list) - values: dict = field(default_factory=dict) + bools: list + values: dict @dataclass class OtherConfig: """ Dataclass keeping miscellanous configuration options """ - cache_dir_path: Path = Path("~/.unisync").expanduser() + cache_dir_path: Path @dataclass class Config: @@ -62,7 +64,7 @@ class Config: server: ServerConfig roots: RootsConfig unison: UnisonConfig - other: OtherConfig = field(default_factory=OtherConfig) + other: OtherConfig def load_config(config_path:str) -> Config: @@ -83,13 +85,13 @@ def load_config(config_path:str) -> Config: server_config = ServerConfig( config.get(server_section, "user"), - config.get(server_section, "sshargs", fallback=""), - config.get(server_section, "hostname", fallback=""), - config.get(server_section, "ip", fallback=""), - config.getint(server_section, "port", fallback=22) + config.get(server_section, "sshargs", fallback=DEFAULT_SERVER_SSHARGS), + config.get(server_section, "hostname", fallback=DEFAULT_SERVER_HOSTNAME), + config.get(server_section, "ip", fallback=DEFAULT_SERVER_IP), + config.getint(server_section, "port", fallback=DEFAULT_SERVER_PORT) ) roots_config = RootsConfig( - config.get(roots_section, "local"), + config.get(roots_section, "local", fallback=DEFAULT_ROOTS_LOCAL), config.get(roots_section, "remote") ) other_config = OtherConfig(