mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-23 15:53:36 +05:00
refactor(ConfigManager): automatically read config upon ConfigManager instance init
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -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}]."
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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}'")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user