fix(KIAUH): more file path handling improvements

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
dw-0
2023-12-25 22:31:18 +01:00
parent d20d82aeac
commit 1b4c76d080
3 changed files with 22 additions and 20 deletions

View File

@@ -205,12 +205,12 @@ def get_highest_index(instance_list: List[Klipper]) -> int:
def create_example_printer_cfg(instance: Klipper) -> None: def create_example_printer_cfg(instance: Klipper) -> None:
Logger.print_status(f"Creating example printer.cfg in '{instance.cfg_dir}'") Logger.print_status(f"Creating example printer.cfg in '{instance.cfg_dir}'")
if instance.cfg_file is not None: if instance.cfg_file.is_file():
Logger.print_info(f"printer.cfg in '{instance.cfg_dir}' already exists.") Logger.print_info(f"'{instance.cfg_file}' already exists.")
return return
source = MODULE_PATH.joinpath("res/printer.cfg") source = MODULE_PATH.joinpath("res/printer.cfg")
target = instance.cfg_dir.joinpath("printer.cfg") target = instance.cfg_file
try: try:
shutil.copy(source, target) shutil.copy(source, target)
except OSError as e: except OSError as e:

View File

@@ -1,5 +1,4 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import os
# ======================================================================= # # ======================================================================= #
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> # # Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
@@ -53,7 +52,7 @@ def run_mainsail_removal(
def remove_mainsail_dir() -> None: def remove_mainsail_dir() -> None:
Logger.print_status("Removing Mainsail ...") Logger.print_status("Removing Mainsail ...")
if not Path(MAINSAIL_DIR).exists(): if not MAINSAIL_DIR.exists():
Logger.print_info(f"'{MAINSAIL_DIR}' does not exist. Skipping ...") Logger.print_info(f"'{MAINSAIL_DIR}' does not exist. Skipping ...")
return return
@@ -81,12 +80,13 @@ def remove_nginx_logs() -> None:
remove_file(Path("/var/log/nginx/mainsail-error.log"), True) remove_file(Path("/var/log/nginx/mainsail-error.log"), True)
im = InstanceManager(Klipper) im = InstanceManager(Klipper)
if not im.instances: instances: List[Klipper] = im.instances
if not instances:
return return
for instance in im.instances: for instance in instances:
remove_file(Path(instance.log_dir, "mainsail-access.log")) remove_file(instance.log_dir.joinpath("mainsail-access.log"))
remove_file(Path(instance.log_dir, "mainsail-error.log")) remove_file(instance.log_dir.joinpath("mainsail-error.log"))
except (OSError, subprocess.CalledProcessError) as e: except (OSError, subprocess.CalledProcessError) as e:
Logger.print_error(f"Unable to NGINX logs:\n{e}") Logger.print_error(f"Unable to NGINX logs:\n{e}")
@@ -118,7 +118,7 @@ def remove_updater_section(name: str) -> None:
def remove_mainsail_cfg_dir() -> None: def remove_mainsail_cfg_dir() -> None:
Logger.print_status("Removing mainsail-config ...") Logger.print_status("Removing mainsail-config ...")
if not Path(MAINSAIL_CONFIG_DIR).exists(): if not MAINSAIL_CONFIG_DIR.exists():
Logger.print_info(f"'{MAINSAIL_CONFIG_DIR}' does not exist. Skipping ...") Logger.print_info(f"'{MAINSAIL_CONFIG_DIR}' does not exist. Skipping ...")
return return
@@ -130,11 +130,12 @@ def remove_mainsail_cfg_dir() -> None:
def remove_mainsail_cfg_symlink() -> None: def remove_mainsail_cfg_symlink() -> None:
Logger.print_status("Removing mainsail.cfg symlinks ...") Logger.print_status("Removing mainsail.cfg symlinks ...")
im = InstanceManager(Moonraker) im = InstanceManager(Klipper)
for instance in im.instances: instances: List[Klipper] = im.instances
Logger.print_status(f"Removing symlink from '{instance.cfg_dir}' ...") for instance in instances:
Logger.print_status(f"Removing symlink from '{instance.cfg_file}' ...")
try: try:
remove_file(Path(instance.cfg_dir, "mainsail.cfg")) remove_file(instance.cfg_dir.joinpath("mainsail.cfg"))
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
Logger.print_error("Failed to remove symlink!") Logger.print_error("Failed to remove symlink!")
@@ -142,15 +143,16 @@ def remove_mainsail_cfg_symlink() -> None:
def remove_printer_cfg_include() -> None: def remove_printer_cfg_include() -> None:
Logger.print_status("Remove mainsail-config include from printer.cfg ...") Logger.print_status("Remove mainsail-config include from printer.cfg ...")
im = InstanceManager(Klipper) im = InstanceManager(Klipper)
if not im.instances: instances: List[Klipper] = im.instances
if not instances:
Logger.print_info("Klipper not installed. Skipping ...") Logger.print_info("Klipper not installed. Skipping ...")
return return
for instance in im.instances: for instance in instances:
log = f"Removing include from '{instance.cfg_file}' ..." log = f"Removing include from '{instance.cfg_file}' ..."
Logger.print_status(log) Logger.print_status(log)
if not Path(instance.cfg_file).exists(): if not instance.cfg_file.is_file():
continue continue
cm = ConfigManager(instance.cfg_file) cm = ConfigManager(instance.cfg_file)

View File

@@ -40,12 +40,12 @@ def create_example_moonraker_conf(
instance: Moonraker, ports_map: Dict[str, int] instance: Moonraker, ports_map: Dict[str, int]
) -> None: ) -> None:
Logger.print_status(f"Creating example moonraker.conf in '{instance.cfg_dir}'") Logger.print_status(f"Creating example moonraker.conf in '{instance.cfg_dir}'")
if instance.cfg_file is not None: if instance.cfg_file.is_file():
Logger.print_info(f"moonraker.conf in '{instance.cfg_dir}' already exists.") Logger.print_info(f"'{instance.cfg_file}' already exists.")
return return
source = MODULE_PATH.joinpath("res/moonraker.conf") source = MODULE_PATH.joinpath("res/moonraker.conf")
target = instance.cfg_dir.joinpath("moonraker.conf") target = instance.cfg_file
try: try:
shutil.copy(source, target) shutil.copy(source, target)
except OSError as e: except OSError as e: