fix: remove klipper.env and moonraker.env during removal (#536)

Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
dw-0
2024-09-21 15:10:30 +02:00
committed by GitHub
parent 6b6607c5ab
commit fd2910ba67
4 changed files with 18 additions and 20 deletions

View File

@@ -41,6 +41,7 @@ class Klipper:
env_dir: Path = KLIPPER_ENV_DIR env_dir: Path = KLIPPER_ENV_DIR
data_dir: Path = field(init=False) data_dir: Path = field(init=False)
cfg_file: Path = field(init=False) cfg_file: Path = field(init=False)
env_file: Path = field(init=False)
serial: Path = field(init=False) serial: Path = field(init=False)
uds: 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.service_file_path: Path = get_service_file_path(Klipper, self.suffix)
self.data_dir: Path = get_data_dir(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.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.serial: Path = self.base.comms_dir.joinpath(KLIPPER_SERIAL_NAME)
self.uds: Path = self.base.comms_dir.joinpath(KLIPPER_UDS_NAME) self.uds: Path = self.base.comms_dir.joinpath(KLIPPER_UDS_NAME)

View File

@@ -83,16 +83,13 @@ def remove_instances(
for instance in instance_list: for instance in instance_list:
Logger.print_status(f"Removing instance {instance.service_file_path.stem} ...") Logger.print_status(f"Removing instance {instance.service_file_path.stem} ...")
InstanceManager.remove(instance) InstanceManager.remove(instance)
delete_klipper_env_file(instance)
def delete_klipper_logs(instances: List[Klipper]) -> None: def delete_klipper_env_file(instance: Klipper):
all_logfiles = [] Logger.print_status(f"Remove '{instance.env_file}'")
for instance in instances: if not instance.env_file.exists():
all_logfiles = list(instance.base.log_dir.glob("klippy.log*")) msg = f"Env file in {instance.base.sysd_dir} not found. Skipped ..."
if not all_logfiles: Logger.print_info(msg)
Logger.print_info("No Klipper logs found. Skipped ...")
return return
run_remove_routines(instance.env_file)
for log in all_logfiles:
Logger.print_status(f"Remove '{log}'")
run_remove_routines(log)

View File

@@ -43,6 +43,7 @@ class Moonraker:
env_dir: Path = MOONRAKER_ENV_DIR env_dir: Path = MOONRAKER_ENV_DIR
data_dir: Path = field(init=False) data_dir: Path = field(init=False)
cfg_file: Path = field(init=False) cfg_file: Path = field(init=False)
env_file: Path = field(init=False)
backup_dir: Path = field(init=False) backup_dir: Path = field(init=False)
certs_dir: Path = field(init=False) certs_dir: Path = field(init=False)
db_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.service_file_path: Path = get_service_file_path(Moonraker, self.suffix)
self.data_dir: Path = self.base.data_dir self.data_dir: Path = self.base.data_dir
self.cfg_file: Path = self.base.cfg_dir.joinpath(MOONRAKER_CFG_NAME) 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.backup_dir: Path = self.base.data_dir.joinpath("backup")
self.certs_dir: Path = self.base.data_dir.joinpath("certs") self.certs_dir: Path = self.base.data_dir.joinpath("certs")
self.db_dir: Path = self.base.data_dir.joinpath("database") self.db_dir: Path = self.base.data_dir.joinpath("database")

View File

@@ -94,6 +94,7 @@ def remove_instances(
for instance in instance_list: for instance in instance_list:
Logger.print_status(f"Removing instance {instance.service_file_path.stem} ...") Logger.print_status(f"Removing instance {instance.service_file_path.stem} ...")
InstanceManager.remove(instance) InstanceManager.remove(instance)
delete_moonraker_env_file(instance)
def remove_polkit_rules() -> None: def remove_polkit_rules() -> None:
@@ -111,14 +112,10 @@ def remove_polkit_rules() -> None:
Logger.print_ok("Policykit rules successfully removed!") Logger.print_ok("Policykit rules successfully removed!")
def delete_moonraker_logs(instances: List[Moonraker]) -> None: def delete_moonraker_env_file(instance: Moonraker):
all_logfiles = [] Logger.print_status(f"Remove '{instance.env_file}'")
for instance in instances: if not instance.env_file.exists():
all_logfiles = list(instance.base.log_dir.glob("moonraker.log*")) msg = f"Env file in {instance.base.sysd_dir} not found. Skipped ..."
if not all_logfiles: Logger.print_info(msg)
Logger.print_info("No Moonraker logs found. Skipped ...")
return return
run_remove_routines(instance.env_file)
for log in all_logfiles:
Logger.print_status(f"Remove '{log}'")
run_remove_routines(log)