mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-25 16:53:36 +05:00
refactor: go back do remove menu when component was removed
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -25,7 +25,8 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
self.remove_klipper_service = False
|
||||
self.remove_klipper_dir = False
|
||||
self.remove_klipper_env = False
|
||||
self.delete_klipper_logs = False
|
||||
self.remove_klipper_logs = False
|
||||
self.selection_state = False
|
||||
|
||||
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||
from core.menus.remove_menu import RemoveMenu
|
||||
@@ -36,7 +37,7 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
|
||||
def set_options(self) -> None:
|
||||
self.options = {
|
||||
"0": Option(method=self.toggle_all, menu=False),
|
||||
"a": Option(method=self.toggle_all, menu=False),
|
||||
"1": Option(method=self.toggle_remove_klipper_service, menu=False),
|
||||
"2": Option(method=self.toggle_remove_klipper_dir, menu=False),
|
||||
"3": Option(method=self.toggle_remove_klipper_env, menu=False),
|
||||
@@ -53,7 +54,7 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
o1 = checked if self.remove_klipper_service else unchecked
|
||||
o2 = checked if self.remove_klipper_dir else unchecked
|
||||
o3 = checked if self.remove_klipper_env else unchecked
|
||||
o4 = checked if self.delete_klipper_logs else unchecked
|
||||
o4 = checked if self.remove_klipper_logs else unchecked
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
╔═══════════════════════════════════════════════════════╗
|
||||
@@ -62,7 +63,7 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
║ Enter a number and hit enter to select / deselect ║
|
||||
║ the specific option for removal. ║
|
||||
╟───────────────────────────────────────────────────────╢
|
||||
║ 0) Select everything ║
|
||||
║ a) {self._get_selection_state_str():37} ║
|
||||
╟───────────────────────────────────────────────────────╢
|
||||
║ 1) {o1} Remove Service ║
|
||||
║ 2) {o2} Remove Local Repository ║
|
||||
@@ -76,10 +77,11 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
print(menu, end="")
|
||||
|
||||
def toggle_all(self, **kwargs) -> None:
|
||||
self.remove_klipper_service = True
|
||||
self.remove_klipper_dir = True
|
||||
self.remove_klipper_env = True
|
||||
self.delete_klipper_logs = True
|
||||
self.remove_klipper_service = not self.remove_klipper_service
|
||||
self.remove_klipper_dir = not self.remove_klipper_dir
|
||||
self.remove_klipper_env = not self.remove_klipper_env
|
||||
self.remove_klipper_logs = not self.remove_klipper_logs
|
||||
self.selection_state = not self.selection_state
|
||||
|
||||
def toggle_remove_klipper_service(self, **kwargs) -> None:
|
||||
self.remove_klipper_service = not self.remove_klipper_service
|
||||
@@ -91,14 +93,14 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
self.remove_klipper_env = not self.remove_klipper_env
|
||||
|
||||
def toggle_delete_klipper_logs(self, **kwargs) -> None:
|
||||
self.delete_klipper_logs = not self.delete_klipper_logs
|
||||
self.remove_klipper_logs = not self.remove_klipper_logs
|
||||
|
||||
def run_removal_process(self, **kwargs) -> None:
|
||||
if (
|
||||
not self.remove_klipper_service
|
||||
and not self.remove_klipper_dir
|
||||
and not self.remove_klipper_env
|
||||
and not self.delete_klipper_logs
|
||||
and not self.remove_klipper_logs
|
||||
):
|
||||
error = f"{COLOR_RED}Nothing selected! Select options to remove first.{RESET_FORMAT}"
|
||||
print(error)
|
||||
@@ -108,10 +110,21 @@ class KlipperRemoveMenu(BaseMenu):
|
||||
self.remove_klipper_service,
|
||||
self.remove_klipper_dir,
|
||||
self.remove_klipper_env,
|
||||
self.delete_klipper_logs,
|
||||
self.remove_klipper_logs,
|
||||
)
|
||||
|
||||
self.remove_klipper_service = False
|
||||
self.remove_klipper_dir = False
|
||||
self.remove_klipper_env = False
|
||||
self.delete_klipper_logs = False
|
||||
self.remove_klipper_logs = False
|
||||
|
||||
self._go_back()
|
||||
|
||||
def _get_selection_state_str(self) -> str:
|
||||
return (
|
||||
"Select everything" if not self.selection_state else "Deselect everything"
|
||||
)
|
||||
|
||||
def _go_back(self, **kwargs) -> None:
|
||||
if self.previous_menu is not None:
|
||||
self.previous_menu().run()
|
||||
|
||||
@@ -25,7 +25,8 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
self.remove_moonraker_dir = False
|
||||
self.remove_moonraker_env = False
|
||||
self.remove_moonraker_polkit = False
|
||||
self.delete_moonraker_logs = False
|
||||
self.remove_moonraker_logs = False
|
||||
self.selection_state = False
|
||||
|
||||
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||
from core.menus.remove_menu import RemoveMenu
|
||||
@@ -36,7 +37,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
|
||||
def set_options(self) -> None:
|
||||
self.options = {
|
||||
"0": Option(method=self.toggle_all, menu=False),
|
||||
"a": Option(method=self.toggle_all, menu=False),
|
||||
"1": Option(method=self.toggle_remove_moonraker_service, menu=False),
|
||||
"2": Option(method=self.toggle_remove_moonraker_dir, menu=False),
|
||||
"3": Option(method=self.toggle_remove_moonraker_env, menu=False),
|
||||
@@ -55,7 +56,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
o2 = checked if self.remove_moonraker_dir else unchecked
|
||||
o3 = checked if self.remove_moonraker_env else unchecked
|
||||
o4 = checked if self.remove_moonraker_polkit else unchecked
|
||||
o5 = checked if self.delete_moonraker_logs else unchecked
|
||||
o5 = checked if self.remove_moonraker_logs else unchecked
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
╔═══════════════════════════════════════════════════════╗
|
||||
@@ -64,7 +65,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
║ Enter a number and hit enter to select / deselect ║
|
||||
║ the specific option for removal. ║
|
||||
╟───────────────────────────────────────────────────────╢
|
||||
║ 0) Select everything ║
|
||||
║ a) {self._get_selection_state_str():37} ║
|
||||
╟───────────────────────────────────────────────────────╢
|
||||
║ 1) {o1} Remove Service ║
|
||||
║ 2) {o2} Remove Local Repository ║
|
||||
@@ -79,11 +80,12 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
print(menu, end="")
|
||||
|
||||
def toggle_all(self, **kwargs) -> None:
|
||||
self.remove_moonraker_service = True
|
||||
self.remove_moonraker_dir = True
|
||||
self.remove_moonraker_env = True
|
||||
self.remove_moonraker_polkit = True
|
||||
self.delete_moonraker_logs = True
|
||||
self.remove_moonraker_service = not self.remove_moonraker_service
|
||||
self.remove_moonraker_dir = not self.remove_moonraker_dir
|
||||
self.remove_moonraker_env = not self.remove_moonraker_env
|
||||
self.remove_moonraker_polkit = not self.remove_moonraker_polkit
|
||||
self.remove_moonraker_logs = not self.remove_moonraker_logs
|
||||
self.selection_state = not self.selection_state
|
||||
|
||||
def toggle_remove_moonraker_service(self, **kwargs) -> None:
|
||||
self.remove_moonraker_service = not self.remove_moonraker_service
|
||||
@@ -98,7 +100,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
self.remove_moonraker_polkit = not self.remove_moonraker_polkit
|
||||
|
||||
def toggle_delete_moonraker_logs(self, **kwargs) -> None:
|
||||
self.delete_moonraker_logs = not self.delete_moonraker_logs
|
||||
self.remove_moonraker_logs = not self.remove_moonraker_logs
|
||||
|
||||
def run_removal_process(self, **kwargs) -> None:
|
||||
if (
|
||||
@@ -106,7 +108,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
and not self.remove_moonraker_dir
|
||||
and not self.remove_moonraker_env
|
||||
and not self.remove_moonraker_polkit
|
||||
and not self.delete_moonraker_logs
|
||||
and not self.remove_moonraker_logs
|
||||
):
|
||||
error = f"{COLOR_RED}Nothing selected! Select options to remove first.{RESET_FORMAT}"
|
||||
print(error)
|
||||
@@ -117,11 +119,22 @@ class MoonrakerRemoveMenu(BaseMenu):
|
||||
self.remove_moonraker_dir,
|
||||
self.remove_moonraker_env,
|
||||
self.remove_moonraker_polkit,
|
||||
self.delete_moonraker_logs,
|
||||
self.remove_moonraker_logs,
|
||||
)
|
||||
|
||||
self.remove_moonraker_service = False
|
||||
self.remove_moonraker_dir = False
|
||||
self.remove_moonraker_env = False
|
||||
self.remove_moonraker_polkit = False
|
||||
self.delete_moonraker_logs = False
|
||||
self.remove_moonraker_logs = False
|
||||
|
||||
self._go_back()
|
||||
|
||||
def _get_selection_state_str(self) -> str:
|
||||
return (
|
||||
"Select everything" if not self.selection_state else "Deselect everything"
|
||||
)
|
||||
|
||||
def _go_back(self, **kwargs) -> None:
|
||||
if self.previous_menu is not None:
|
||||
self.previous_menu().run()
|
||||
|
||||
@@ -32,8 +32,8 @@ from utils.logger import Logger
|
||||
|
||||
def run_client_removal(
|
||||
client: BaseWebClient,
|
||||
rm_client: bool,
|
||||
rm_client_config: bool,
|
||||
remove_client: bool,
|
||||
remove_client_cfg: bool,
|
||||
backup_ms_config_json: bool,
|
||||
) -> None:
|
||||
mr_im = InstanceManager(Moonraker)
|
||||
@@ -44,7 +44,7 @@ def run_client_removal(
|
||||
if backup_ms_config_json and client.client == WebClientType.MAINSAIL:
|
||||
backup_mainsail_config_json()
|
||||
|
||||
if rm_client:
|
||||
if remove_client:
|
||||
client_name = client.name
|
||||
remove_client_dir(client)
|
||||
remove_nginx_config(client_name)
|
||||
@@ -53,7 +53,7 @@ def run_client_removal(
|
||||
section = f"update_manager {client_name}"
|
||||
remove_config_section(section, mr_instances)
|
||||
|
||||
if rm_client_config:
|
||||
if remove_client_cfg:
|
||||
run_client_config_removal(
|
||||
client.client_config,
|
||||
kl_instances,
|
||||
|
||||
@@ -25,9 +25,10 @@ class ClientRemoveMenu(BaseMenu):
|
||||
super().__init__()
|
||||
self.previous_menu = previous_menu
|
||||
self.client = client
|
||||
self.rm_client = False
|
||||
self.rm_client_config = False
|
||||
self.remove_client = False
|
||||
self.remove_client_cfg = False
|
||||
self.backup_mainsail_config_json = False
|
||||
self.selection_state = False
|
||||
|
||||
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||
from core.menus.remove_menu import RemoveMenu
|
||||
@@ -38,7 +39,7 @@ class ClientRemoveMenu(BaseMenu):
|
||||
|
||||
def set_options(self) -> None:
|
||||
self.options = {
|
||||
"0": Option(method=self.toggle_all, menu=False),
|
||||
"a": Option(method=self.toggle_all, menu=False),
|
||||
"1": Option(method=self.toggle_rm_client, menu=False),
|
||||
"2": Option(method=self.toggle_rm_client_config, menu=False),
|
||||
"c": Option(method=self.run_removal_process, menu=False),
|
||||
@@ -56,8 +57,8 @@ class ClientRemoveMenu(BaseMenu):
|
||||
count = 62 - len(color) - len(RESET_FORMAT)
|
||||
checked = f"[{COLOR_CYAN}x{RESET_FORMAT}]"
|
||||
unchecked = "[ ]"
|
||||
o1 = checked if self.rm_client else unchecked
|
||||
o2 = checked if self.rm_client_config else unchecked
|
||||
o1 = checked if self.remove_client else unchecked
|
||||
o2 = checked if self.remove_client_cfg else unchecked
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
╔═══════════════════════════════════════════════════════╗
|
||||
@@ -66,7 +67,7 @@ class ClientRemoveMenu(BaseMenu):
|
||||
║ Enter a number and hit enter to select / deselect ║
|
||||
║ the specific option for removal. ║
|
||||
╟───────────────────────────────────────────────────────╢
|
||||
║ 0) Select everything ║
|
||||
║ a) {self._get_selection_state_str():37} ║
|
||||
╟───────────────────────────────────────────────────────╢
|
||||
║ 1) {o1} Remove {client_name:16} ║
|
||||
║ 2) {o2} Remove {client_config_name:24} ║
|
||||
@@ -91,23 +92,24 @@ class ClientRemoveMenu(BaseMenu):
|
||||
print(menu, end="")
|
||||
|
||||
def toggle_all(self, **kwargs) -> None:
|
||||
self.rm_client = True
|
||||
self.rm_client_config = True
|
||||
self.backup_mainsail_config_json = True
|
||||
self.remove_client = not self.remove_client
|
||||
self.remove_client_cfg = not self.remove_client_cfg
|
||||
self.backup_mainsail_config_json = not self.backup_mainsail_config_json
|
||||
self.selection_state = not self.selection_state
|
||||
|
||||
def toggle_rm_client(self, **kwargs) -> None:
|
||||
self.rm_client = not self.rm_client
|
||||
self.remove_client = not self.remove_client
|
||||
|
||||
def toggle_rm_client_config(self, **kwargs) -> None:
|
||||
self.rm_client_config = not self.rm_client_config
|
||||
self.remove_client_cfg = not self.remove_client_cfg
|
||||
|
||||
def toggle_backup_mainsail_config_json(self, **kwargs) -> None:
|
||||
self.backup_mainsail_config_json = not self.backup_mainsail_config_json
|
||||
|
||||
def run_removal_process(self, **kwargs) -> None:
|
||||
if (
|
||||
not self.rm_client
|
||||
and not self.rm_client_config
|
||||
not self.remove_client
|
||||
and not self.remove_client_cfg
|
||||
and not self.backup_mainsail_config_json
|
||||
):
|
||||
error = f"{COLOR_RED}Nothing selected ...{RESET_FORMAT}"
|
||||
@@ -116,11 +118,22 @@ class ClientRemoveMenu(BaseMenu):
|
||||
|
||||
client_remove.run_client_removal(
|
||||
client=self.client,
|
||||
rm_client=self.rm_client,
|
||||
rm_client_config=self.rm_client_config,
|
||||
remove_client=self.remove_client,
|
||||
remove_client_cfg=self.remove_client_cfg,
|
||||
backup_ms_config_json=self.backup_mainsail_config_json,
|
||||
)
|
||||
|
||||
self.rm_client = False
|
||||
self.rm_client_config = False
|
||||
self.remove_client = False
|
||||
self.remove_client_cfg = False
|
||||
self.backup_mainsail_config_json = False
|
||||
|
||||
self._go_back()
|
||||
|
||||
def _get_selection_state_str(self) -> str:
|
||||
return (
|
||||
"Select everything" if not self.selection_state else "Deselect everything"
|
||||
)
|
||||
|
||||
def _go_back(self, **kwargs) -> None:
|
||||
if self.previous_menu is not None:
|
||||
self.previous_menu().run()
|
||||
|
||||
Reference in New Issue
Block a user