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.
This commit is contained in:
2026-01-03 17:18:19 +01:00
parent a223f04909
commit 0e80ba0b0d

View File

@@ -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(