refactor(ConfigManager): automatically read config upon ConfigManager instance init

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
dw-0
2023-12-23 17:21:50 +01:00
parent 3d5e83d5ab
commit 14132fc34b
8 changed files with 8 additions and 20 deletions

View File

@@ -10,6 +10,7 @@
# ======================================================================= #
import configparser
from pathlib import Path
from typing import Union
from kiauh.utils.logger import Logger
@@ -21,6 +22,9 @@ class ConfigManager:
self.config_file = cfg_file
self.config = CustomConfigParser()
if Path(cfg_file).is_file():
self.read_config()
def read_config(self) -> None:
if not self.config_file:
Logger.print_error("Unable to read config file. File not found.")
@@ -32,7 +36,7 @@ class ConfigManager:
with open(self.config_file, "w") as cfg:
self.config.write(cfg)
def get_value(self, section: str, key: str, silent=False) -> Union[str, bool, None]:
def get_value(self, section: str, key: str, silent=True) -> Union[str, bool, None]:
if not self.config.has_section(section):
if not silent:
log = f"Section not defined. Unable to read section: [{section}]."

View File

@@ -145,8 +145,6 @@ def install_klipper(
def setup_klipper_prerequesites() -> None:
cm = ConfigManager(cfg_file=KIAUH_CFG)
cm.read_config()
repo = str(cm.get_value("klipper", "repository_url") or DEFAULT_KLIPPER_REPO_URL)
branch = str(cm.get_value("klipper", "branch") or "master")
@@ -265,8 +263,6 @@ def update_klipper() -> None:
return
cm = ConfigManager(cfg_file=KIAUH_CFG)
cm.read_config()
if cm.get_value("kiauh", "backup_before_update"):
backup_manager = BackupManager(source=KLIPPER_DIR, backup_name="klipper")
backup_manager.backup()

View File

@@ -209,7 +209,6 @@ def create_example_printer_cfg(instance: Klipper) -> None:
return
cm = ConfigManager(target)
cm.read_config()
cm.set_value("virtual_sdcard", "path", instance.gcodes_dir)
cm.write_config()
Logger.print_ok(f"Example printer.cfg created in '{instance.cfg_dir}'")

View File

@@ -106,7 +106,6 @@ def remove_updater_section(name: str) -> None:
continue
cm = ConfigManager(instance.cfg_file)
cm.read_config()
if not cm.config.has_section(name):
Logger.print_info("Section not present. Skipped ...")
continue
@@ -153,7 +152,6 @@ def remove_printer_cfg_include() -> None:
continue
cm = ConfigManager(instance.cfg_file)
cm.read_config()
if not cm.config.has_section("include mainsail.cfg"):
Logger.print_info("Section not present. Skipped ...")
continue

View File

@@ -91,7 +91,6 @@ def run_mainsail_installation() -> None:
install_ms_config = get_confirm(question, allow_go_back=False)
cm = ConfigManager(cfg_file=KIAUH_CFG)
cm.read_config()
default_port = cm.get_value("mainsail", "default_port")
mainsail_port = default_port if default_port else 80
if not default_port:
@@ -214,7 +213,6 @@ def patch_moonraker_conf(
return
cm = ConfigManager(cfg_file)
cm.read_config()
if cm.config.has_section(section_name):
Logger.print_info("Section already exist. Skipped ...")
return
@@ -238,7 +236,6 @@ def patch_printer_config(klipper_instances: List[Klipper]) -> None:
return
cm = ConfigManager(cfg_file)
cm.read_config()
if cm.config.has_section("include mainsail.cfg"):
Logger.print_info("Section already exist. Skipped ...")
return

View File

@@ -156,7 +156,6 @@ class Moonraker(BaseInstance):
return None
cm = ConfigManager(cfg_file=self.cfg_file)
cm.read_config()
port = cm.get_value("server", "port")
return int(port) if port is not None else port

View File

@@ -150,8 +150,6 @@ def install_moonraker(
def setup_moonraker_prerequesites() -> None:
cm = ConfigManager(cfg_file=KIAUH_CFG)
cm.read_config()
repo = str(
cm.get_value("moonraker", "repository_url") or DEFAULT_MOONRAKER_REPO_URL
)
@@ -291,8 +289,6 @@ def update_moonraker() -> None:
return
cm = ConfigManager(cfg_file=KIAUH_CFG)
cm.read_config()
if cm.get_value("kiauh", "backup_before_update"):
backup_manager = BackupManager(source=MOONRAKER_DIR, backup_name="moonraker")
backup_manager.backup()

View File

@@ -41,9 +41,6 @@ def create_example_moonraker_conf(
Logger.print_error(f"Unable to create example moonraker.conf:\n{e}")
return
cm = ConfigManager(target)
cm.read_config()
ports = [
ports_map.get(instance)
for instance in ports_map
@@ -61,9 +58,11 @@ def create_example_moonraker_conf(
ports_map[instance.suffix] = port
uds = f"{instance.comms_dir}/klippy.sock"
ip = get_ipv4_addr().split(".")[:2]
ip.extend(["0", "0/16"])
uds = f"{instance.comms_dir}/klippy.sock"
cm = ConfigManager(target)
trusted_clients = f"\n{'.'.join(ip)}"
trusted_clients += cm.get_value("authorization", "trusted_clients")