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:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user