From fd2910ba67b5122a15b6d34ea0c7802c0162b105 Mon Sep 17 00:00:00 2001 From: dw-0 Date: Sat, 21 Sep 2024 15:10:30 +0200 Subject: [PATCH] fix: remove klipper.env and moonraker.env during removal (#536) Signed-off-by: Dominik Willner --- kiauh/components/klipper/klipper.py | 2 ++ kiauh/components/klipper/klipper_remove.py | 17 +++++++---------- kiauh/components/moonraker/moonraker.py | 2 ++ kiauh/components/moonraker/moonraker_remove.py | 17 +++++++---------- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/kiauh/components/klipper/klipper.py b/kiauh/components/klipper/klipper.py index 88e128d..5c5d96b 100644 --- a/kiauh/components/klipper/klipper.py +++ b/kiauh/components/klipper/klipper.py @@ -41,6 +41,7 @@ class Klipper: env_dir: Path = KLIPPER_ENV_DIR data_dir: Path = field(init=False) cfg_file: Path = field(init=False) + env_file: Path = field(init=False) serial: Path = field(init=False) uds: Path = field(init=False) @@ -51,6 +52,7 @@ class Klipper: self.service_file_path: Path = get_service_file_path(Klipper, self.suffix) self.data_dir: Path = get_data_dir(Klipper, self.suffix) self.cfg_file: Path = self.base.cfg_dir.joinpath(KLIPPER_CFG_NAME) + self.env_file: Path = self.base.sysd_dir.joinpath(KLIPPER_ENV_FILE_NAME) self.serial: Path = self.base.comms_dir.joinpath(KLIPPER_SERIAL_NAME) self.uds: Path = self.base.comms_dir.joinpath(KLIPPER_UDS_NAME) diff --git a/kiauh/components/klipper/klipper_remove.py b/kiauh/components/klipper/klipper_remove.py index cb176bd..773a604 100644 --- a/kiauh/components/klipper/klipper_remove.py +++ b/kiauh/components/klipper/klipper_remove.py @@ -83,16 +83,13 @@ def remove_instances( for instance in instance_list: Logger.print_status(f"Removing instance {instance.service_file_path.stem} ...") InstanceManager.remove(instance) + delete_klipper_env_file(instance) -def delete_klipper_logs(instances: List[Klipper]) -> None: - all_logfiles = [] - for instance in instances: - all_logfiles = list(instance.base.log_dir.glob("klippy.log*")) - if not all_logfiles: - Logger.print_info("No Klipper logs found. Skipped ...") +def delete_klipper_env_file(instance: Klipper): + Logger.print_status(f"Remove '{instance.env_file}'") + if not instance.env_file.exists(): + msg = f"Env file in {instance.base.sysd_dir} not found. Skipped ..." + Logger.print_info(msg) return - - for log in all_logfiles: - Logger.print_status(f"Remove '{log}'") - run_remove_routines(log) + run_remove_routines(instance.env_file) diff --git a/kiauh/components/moonraker/moonraker.py b/kiauh/components/moonraker/moonraker.py index 5130b8e..a77e042 100644 --- a/kiauh/components/moonraker/moonraker.py +++ b/kiauh/components/moonraker/moonraker.py @@ -43,6 +43,7 @@ class Moonraker: env_dir: Path = MOONRAKER_ENV_DIR data_dir: Path = field(init=False) cfg_file: Path = field(init=False) + env_file: Path = field(init=False) backup_dir: Path = field(init=False) certs_dir: Path = field(init=False) db_dir: Path = field(init=False) @@ -55,6 +56,7 @@ class Moonraker: self.service_file_path: Path = get_service_file_path(Moonraker, self.suffix) self.data_dir: Path = self.base.data_dir self.cfg_file: Path = self.base.cfg_dir.joinpath(MOONRAKER_CFG_NAME) + self.env_file: Path = self.base.sysd_dir.joinpath(MOONRAKER_ENV_FILE_NAME) self.backup_dir: Path = self.base.data_dir.joinpath("backup") self.certs_dir: Path = self.base.data_dir.joinpath("certs") self.db_dir: Path = self.base.data_dir.joinpath("database") diff --git a/kiauh/components/moonraker/moonraker_remove.py b/kiauh/components/moonraker/moonraker_remove.py index 7fe5ef9..214bdff 100644 --- a/kiauh/components/moonraker/moonraker_remove.py +++ b/kiauh/components/moonraker/moonraker_remove.py @@ -94,6 +94,7 @@ def remove_instances( for instance in instance_list: Logger.print_status(f"Removing instance {instance.service_file_path.stem} ...") InstanceManager.remove(instance) + delete_moonraker_env_file(instance) def remove_polkit_rules() -> None: @@ -111,14 +112,10 @@ def remove_polkit_rules() -> None: Logger.print_ok("Policykit rules successfully removed!") -def delete_moonraker_logs(instances: List[Moonraker]) -> None: - all_logfiles = [] - for instance in instances: - all_logfiles = list(instance.base.log_dir.glob("moonraker.log*")) - if not all_logfiles: - Logger.print_info("No Moonraker logs found. Skipped ...") +def delete_moonraker_env_file(instance: Moonraker): + Logger.print_status(f"Remove '{instance.env_file}'") + if not instance.env_file.exists(): + msg = f"Env file in {instance.base.sysd_dir} not found. Skipped ..." + Logger.print_info(msg) return - - for log in all_logfiles: - Logger.print_status(f"Remove '{log}'") - run_remove_routines(log) + run_remove_routines(instance.env_file)