mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-25 08:43: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_service = False
|
||||||
self.remove_klipper_dir = False
|
self.remove_klipper_dir = False
|
||||||
self.remove_klipper_env = 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:
|
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||||
from core.menus.remove_menu import RemoveMenu
|
from core.menus.remove_menu import RemoveMenu
|
||||||
@@ -36,7 +37,7 @@ class KlipperRemoveMenu(BaseMenu):
|
|||||||
|
|
||||||
def set_options(self) -> None:
|
def set_options(self) -> None:
|
||||||
self.options = {
|
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),
|
"1": Option(method=self.toggle_remove_klipper_service, menu=False),
|
||||||
"2": Option(method=self.toggle_remove_klipper_dir, menu=False),
|
"2": Option(method=self.toggle_remove_klipper_dir, menu=False),
|
||||||
"3": Option(method=self.toggle_remove_klipper_env, 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
|
o1 = checked if self.remove_klipper_service else unchecked
|
||||||
o2 = checked if self.remove_klipper_dir else unchecked
|
o2 = checked if self.remove_klipper_dir else unchecked
|
||||||
o3 = checked if self.remove_klipper_env 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(
|
menu = textwrap.dedent(
|
||||||
f"""
|
f"""
|
||||||
╔═══════════════════════════════════════════════════════╗
|
╔═══════════════════════════════════════════════════════╗
|
||||||
@@ -62,7 +63,7 @@ class KlipperRemoveMenu(BaseMenu):
|
|||||||
║ Enter a number and hit enter to select / deselect ║
|
║ Enter a number and hit enter to select / deselect ║
|
||||||
║ the specific option for removal. ║
|
║ the specific option for removal. ║
|
||||||
╟───────────────────────────────────────────────────────╢
|
╟───────────────────────────────────────────────────────╢
|
||||||
║ 0) Select everything ║
|
║ a) {self._get_selection_state_str():37} ║
|
||||||
╟───────────────────────────────────────────────────────╢
|
╟───────────────────────────────────────────────────────╢
|
||||||
║ 1) {o1} Remove Service ║
|
║ 1) {o1} Remove Service ║
|
||||||
║ 2) {o2} Remove Local Repository ║
|
║ 2) {o2} Remove Local Repository ║
|
||||||
@@ -76,10 +77,11 @@ class KlipperRemoveMenu(BaseMenu):
|
|||||||
print(menu, end="")
|
print(menu, end="")
|
||||||
|
|
||||||
def toggle_all(self, **kwargs) -> None:
|
def toggle_all(self, **kwargs) -> None:
|
||||||
self.remove_klipper_service = True
|
self.remove_klipper_service = not self.remove_klipper_service
|
||||||
self.remove_klipper_dir = True
|
self.remove_klipper_dir = not self.remove_klipper_dir
|
||||||
self.remove_klipper_env = True
|
self.remove_klipper_env = not self.remove_klipper_env
|
||||||
self.delete_klipper_logs = True
|
self.remove_klipper_logs = not self.remove_klipper_logs
|
||||||
|
self.selection_state = not self.selection_state
|
||||||
|
|
||||||
def toggle_remove_klipper_service(self, **kwargs) -> None:
|
def toggle_remove_klipper_service(self, **kwargs) -> None:
|
||||||
self.remove_klipper_service = not self.remove_klipper_service
|
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
|
self.remove_klipper_env = not self.remove_klipper_env
|
||||||
|
|
||||||
def toggle_delete_klipper_logs(self, **kwargs) -> None:
|
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:
|
def run_removal_process(self, **kwargs) -> None:
|
||||||
if (
|
if (
|
||||||
not self.remove_klipper_service
|
not self.remove_klipper_service
|
||||||
and not self.remove_klipper_dir
|
and not self.remove_klipper_dir
|
||||||
and not self.remove_klipper_env
|
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}"
|
error = f"{COLOR_RED}Nothing selected! Select options to remove first.{RESET_FORMAT}"
|
||||||
print(error)
|
print(error)
|
||||||
@@ -108,10 +110,21 @@ class KlipperRemoveMenu(BaseMenu):
|
|||||||
self.remove_klipper_service,
|
self.remove_klipper_service,
|
||||||
self.remove_klipper_dir,
|
self.remove_klipper_dir,
|
||||||
self.remove_klipper_env,
|
self.remove_klipper_env,
|
||||||
self.delete_klipper_logs,
|
self.remove_klipper_logs,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.remove_klipper_service = False
|
self.remove_klipper_service = False
|
||||||
self.remove_klipper_dir = False
|
self.remove_klipper_dir = False
|
||||||
self.remove_klipper_env = 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_dir = False
|
||||||
self.remove_moonraker_env = False
|
self.remove_moonraker_env = False
|
||||||
self.remove_moonraker_polkit = 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:
|
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||||
from core.menus.remove_menu import RemoveMenu
|
from core.menus.remove_menu import RemoveMenu
|
||||||
@@ -36,7 +37,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
|||||||
|
|
||||||
def set_options(self) -> None:
|
def set_options(self) -> None:
|
||||||
self.options = {
|
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),
|
"1": Option(method=self.toggle_remove_moonraker_service, menu=False),
|
||||||
"2": Option(method=self.toggle_remove_moonraker_dir, menu=False),
|
"2": Option(method=self.toggle_remove_moonraker_dir, menu=False),
|
||||||
"3": Option(method=self.toggle_remove_moonraker_env, 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
|
o2 = checked if self.remove_moonraker_dir else unchecked
|
||||||
o3 = checked if self.remove_moonraker_env else unchecked
|
o3 = checked if self.remove_moonraker_env else unchecked
|
||||||
o4 = checked if self.remove_moonraker_polkit 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(
|
menu = textwrap.dedent(
|
||||||
f"""
|
f"""
|
||||||
╔═══════════════════════════════════════════════════════╗
|
╔═══════════════════════════════════════════════════════╗
|
||||||
@@ -64,7 +65,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
|||||||
║ Enter a number and hit enter to select / deselect ║
|
║ Enter a number and hit enter to select / deselect ║
|
||||||
║ the specific option for removal. ║
|
║ the specific option for removal. ║
|
||||||
╟───────────────────────────────────────────────────────╢
|
╟───────────────────────────────────────────────────────╢
|
||||||
║ 0) Select everything ║
|
║ a) {self._get_selection_state_str():37} ║
|
||||||
╟───────────────────────────────────────────────────────╢
|
╟───────────────────────────────────────────────────────╢
|
||||||
║ 1) {o1} Remove Service ║
|
║ 1) {o1} Remove Service ║
|
||||||
║ 2) {o2} Remove Local Repository ║
|
║ 2) {o2} Remove Local Repository ║
|
||||||
@@ -79,11 +80,12 @@ class MoonrakerRemoveMenu(BaseMenu):
|
|||||||
print(menu, end="")
|
print(menu, end="")
|
||||||
|
|
||||||
def toggle_all(self, **kwargs) -> None:
|
def toggle_all(self, **kwargs) -> None:
|
||||||
self.remove_moonraker_service = True
|
self.remove_moonraker_service = not self.remove_moonraker_service
|
||||||
self.remove_moonraker_dir = True
|
self.remove_moonraker_dir = not self.remove_moonraker_dir
|
||||||
self.remove_moonraker_env = True
|
self.remove_moonraker_env = not self.remove_moonraker_env
|
||||||
self.remove_moonraker_polkit = True
|
self.remove_moonraker_polkit = not self.remove_moonraker_polkit
|
||||||
self.delete_moonraker_logs = True
|
self.remove_moonraker_logs = not self.remove_moonraker_logs
|
||||||
|
self.selection_state = not self.selection_state
|
||||||
|
|
||||||
def toggle_remove_moonraker_service(self, **kwargs) -> None:
|
def toggle_remove_moonraker_service(self, **kwargs) -> None:
|
||||||
self.remove_moonraker_service = not self.remove_moonraker_service
|
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
|
self.remove_moonraker_polkit = not self.remove_moonraker_polkit
|
||||||
|
|
||||||
def toggle_delete_moonraker_logs(self, **kwargs) -> None:
|
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:
|
def run_removal_process(self, **kwargs) -> None:
|
||||||
if (
|
if (
|
||||||
@@ -106,7 +108,7 @@ class MoonrakerRemoveMenu(BaseMenu):
|
|||||||
and not self.remove_moonraker_dir
|
and not self.remove_moonraker_dir
|
||||||
and not self.remove_moonraker_env
|
and not self.remove_moonraker_env
|
||||||
and not self.remove_moonraker_polkit
|
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}"
|
error = f"{COLOR_RED}Nothing selected! Select options to remove first.{RESET_FORMAT}"
|
||||||
print(error)
|
print(error)
|
||||||
@@ -117,11 +119,22 @@ class MoonrakerRemoveMenu(BaseMenu):
|
|||||||
self.remove_moonraker_dir,
|
self.remove_moonraker_dir,
|
||||||
self.remove_moonraker_env,
|
self.remove_moonraker_env,
|
||||||
self.remove_moonraker_polkit,
|
self.remove_moonraker_polkit,
|
||||||
self.delete_moonraker_logs,
|
self.remove_moonraker_logs,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.remove_moonraker_service = False
|
self.remove_moonraker_service = False
|
||||||
self.remove_moonraker_dir = False
|
self.remove_moonraker_dir = False
|
||||||
self.remove_moonraker_env = False
|
self.remove_moonraker_env = False
|
||||||
self.remove_moonraker_polkit = 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(
|
def run_client_removal(
|
||||||
client: BaseWebClient,
|
client: BaseWebClient,
|
||||||
rm_client: bool,
|
remove_client: bool,
|
||||||
rm_client_config: bool,
|
remove_client_cfg: bool,
|
||||||
backup_ms_config_json: bool,
|
backup_ms_config_json: bool,
|
||||||
) -> None:
|
) -> None:
|
||||||
mr_im = InstanceManager(Moonraker)
|
mr_im = InstanceManager(Moonraker)
|
||||||
@@ -44,7 +44,7 @@ def run_client_removal(
|
|||||||
if backup_ms_config_json and client.client == WebClientType.MAINSAIL:
|
if backup_ms_config_json and client.client == WebClientType.MAINSAIL:
|
||||||
backup_mainsail_config_json()
|
backup_mainsail_config_json()
|
||||||
|
|
||||||
if rm_client:
|
if remove_client:
|
||||||
client_name = client.name
|
client_name = client.name
|
||||||
remove_client_dir(client)
|
remove_client_dir(client)
|
||||||
remove_nginx_config(client_name)
|
remove_nginx_config(client_name)
|
||||||
@@ -53,7 +53,7 @@ def run_client_removal(
|
|||||||
section = f"update_manager {client_name}"
|
section = f"update_manager {client_name}"
|
||||||
remove_config_section(section, mr_instances)
|
remove_config_section(section, mr_instances)
|
||||||
|
|
||||||
if rm_client_config:
|
if remove_client_cfg:
|
||||||
run_client_config_removal(
|
run_client_config_removal(
|
||||||
client.client_config,
|
client.client_config,
|
||||||
kl_instances,
|
kl_instances,
|
||||||
|
|||||||
@@ -25,9 +25,10 @@ class ClientRemoveMenu(BaseMenu):
|
|||||||
super().__init__()
|
super().__init__()
|
||||||
self.previous_menu = previous_menu
|
self.previous_menu = previous_menu
|
||||||
self.client = client
|
self.client = client
|
||||||
self.rm_client = False
|
self.remove_client = False
|
||||||
self.rm_client_config = False
|
self.remove_client_cfg = False
|
||||||
self.backup_mainsail_config_json = False
|
self.backup_mainsail_config_json = False
|
||||||
|
self.selection_state = False
|
||||||
|
|
||||||
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None:
|
||||||
from core.menus.remove_menu import RemoveMenu
|
from core.menus.remove_menu import RemoveMenu
|
||||||
@@ -38,7 +39,7 @@ class ClientRemoveMenu(BaseMenu):
|
|||||||
|
|
||||||
def set_options(self) -> None:
|
def set_options(self) -> None:
|
||||||
self.options = {
|
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),
|
"1": Option(method=self.toggle_rm_client, menu=False),
|
||||||
"2": Option(method=self.toggle_rm_client_config, menu=False),
|
"2": Option(method=self.toggle_rm_client_config, menu=False),
|
||||||
"c": Option(method=self.run_removal_process, 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)
|
count = 62 - len(color) - len(RESET_FORMAT)
|
||||||
checked = f"[{COLOR_CYAN}x{RESET_FORMAT}]"
|
checked = f"[{COLOR_CYAN}x{RESET_FORMAT}]"
|
||||||
unchecked = "[ ]"
|
unchecked = "[ ]"
|
||||||
o1 = checked if self.rm_client else unchecked
|
o1 = checked if self.remove_client else unchecked
|
||||||
o2 = checked if self.rm_client_config else unchecked
|
o2 = checked if self.remove_client_cfg else unchecked
|
||||||
menu = textwrap.dedent(
|
menu = textwrap.dedent(
|
||||||
f"""
|
f"""
|
||||||
╔═══════════════════════════════════════════════════════╗
|
╔═══════════════════════════════════════════════════════╗
|
||||||
@@ -66,7 +67,7 @@ class ClientRemoveMenu(BaseMenu):
|
|||||||
║ Enter a number and hit enter to select / deselect ║
|
║ Enter a number and hit enter to select / deselect ║
|
||||||
║ the specific option for removal. ║
|
║ the specific option for removal. ║
|
||||||
╟───────────────────────────────────────────────────────╢
|
╟───────────────────────────────────────────────────────╢
|
||||||
║ 0) Select everything ║
|
║ a) {self._get_selection_state_str():37} ║
|
||||||
╟───────────────────────────────────────────────────────╢
|
╟───────────────────────────────────────────────────────╢
|
||||||
║ 1) {o1} Remove {client_name:16} ║
|
║ 1) {o1} Remove {client_name:16} ║
|
||||||
║ 2) {o2} Remove {client_config_name:24} ║
|
║ 2) {o2} Remove {client_config_name:24} ║
|
||||||
@@ -91,23 +92,24 @@ class ClientRemoveMenu(BaseMenu):
|
|||||||
print(menu, end="")
|
print(menu, end="")
|
||||||
|
|
||||||
def toggle_all(self, **kwargs) -> None:
|
def toggle_all(self, **kwargs) -> None:
|
||||||
self.rm_client = True
|
self.remove_client = not self.remove_client
|
||||||
self.rm_client_config = True
|
self.remove_client_cfg = not self.remove_client_cfg
|
||||||
self.backup_mainsail_config_json = True
|
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:
|
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:
|
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:
|
def toggle_backup_mainsail_config_json(self, **kwargs) -> None:
|
||||||
self.backup_mainsail_config_json = not self.backup_mainsail_config_json
|
self.backup_mainsail_config_json = not self.backup_mainsail_config_json
|
||||||
|
|
||||||
def run_removal_process(self, **kwargs) -> None:
|
def run_removal_process(self, **kwargs) -> None:
|
||||||
if (
|
if (
|
||||||
not self.rm_client
|
not self.remove_client
|
||||||
and not self.rm_client_config
|
and not self.remove_client_cfg
|
||||||
and not self.backup_mainsail_config_json
|
and not self.backup_mainsail_config_json
|
||||||
):
|
):
|
||||||
error = f"{COLOR_RED}Nothing selected ...{RESET_FORMAT}"
|
error = f"{COLOR_RED}Nothing selected ...{RESET_FORMAT}"
|
||||||
@@ -116,11 +118,22 @@ class ClientRemoveMenu(BaseMenu):
|
|||||||
|
|
||||||
client_remove.run_client_removal(
|
client_remove.run_client_removal(
|
||||||
client=self.client,
|
client=self.client,
|
||||||
rm_client=self.rm_client,
|
remove_client=self.remove_client,
|
||||||
rm_client_config=self.rm_client_config,
|
remove_client_cfg=self.remove_client_cfg,
|
||||||
backup_ms_config_json=self.backup_mainsail_config_json,
|
backup_ms_config_json=self.backup_mainsail_config_json,
|
||||||
)
|
)
|
||||||
|
|
||||||
self.rm_client = False
|
self.remove_client = False
|
||||||
self.rm_client_config = False
|
self.remove_client_cfg = False
|
||||||
self.backup_mainsail_config_json = 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