From 336414c43ce217669aa264bf9b61256ba35e5cf4 Mon Sep 17 00:00:00 2001 From: dw-0 Date: Mon, 15 Apr 2024 22:12:14 +0200 Subject: [PATCH] fix: init previous_menu in menus Signed-off-by: Dominik Willner --- .../components/klipper/menus/klipper_remove_menu.py | 1 + .../klipper_firmware/menus/klipper_build_menu.py | 1 + .../menus/klipper_flash_error_menu.py | 13 ++++++------- .../menus/klipper_flash_help_menu.py | 9 ++++++--- .../klipper_firmware/menus/klipper_flash_menu.py | 1 + .../components/log_uploads/menus/log_upload_menu.py | 3 ++- .../moonraker/menus/moonraker_remove_menu.py | 1 + .../webui_client/menus/client_remove_menu.py | 1 + kiauh/core/menus/advanced_menu.py | 1 + kiauh/core/menus/backup_menu.py | 1 + kiauh/core/menus/install_menu.py | 1 + kiauh/core/menus/remove_menu.py | 1 + kiauh/core/menus/settings_menu.py | 3 ++- kiauh/core/menus/update_menu.py | 1 + kiauh/extensions/extensions_menu.py | 2 ++ 15 files changed, 28 insertions(+), 12 deletions(-) diff --git a/kiauh/components/klipper/menus/klipper_remove_menu.py b/kiauh/components/klipper/menus/klipper_remove_menu.py index d079265..1190e98 100644 --- a/kiauh/components/klipper/menus/klipper_remove_menu.py +++ b/kiauh/components/klipper/menus/klipper_remove_menu.py @@ -20,6 +20,7 @@ from utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN class KlipperRemoveMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.footer_type = FooterType.BACK_HELP self.remove_klipper_service = False self.remove_klipper_dir = False diff --git a/kiauh/components/klipper_firmware/menus/klipper_build_menu.py b/kiauh/components/klipper_firmware/menus/klipper_build_menu.py index 6dc4272..4bba6f4 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_build_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_build_menu.py @@ -32,6 +32,7 @@ from utils.system_utils import ( class KlipperBuildFirmwareMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.deps = ["build-essential", "dpkg-dev", "make"] self.missing_deps = check_package_install(self.deps) diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py index 61dea31..7df7e82 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py @@ -18,18 +18,16 @@ from utils.constants import COLOR_RED, RESET_FORMAT # noinspection PyUnusedLocal # noinspection PyMethodMayBeStatic class KlipperNoFirmwareErrorMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() - - self.set_previous_menu(None) - self.set_options() + self.previous_menu = previous_menu self.flash_options = FlashOptions() self.footer_type = FooterType.BLANK self.input_label_txt = "Press ENTER to go back to [Advanced Menu]" def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: - pass + self.previous_menu = previous_menu def set_options(self) -> None: self.default_option = Option(self.go_back, False) @@ -69,13 +67,14 @@ class KlipperNoFirmwareErrorMenu(BaseMenu): # noinspection PyUnusedLocal # noinspection PyMethodMayBeStatic class KlipperNoBoardTypesErrorMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.footer_type = FooterType.BLANK self.input_label_txt = "Press ENTER to go back to [Main Menu]" def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: - pass + self.previous_menu = previous_menu def set_options(self) -> None: self.default_option = Option(self.go_back, False) diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py index ed7d3cf..736d9e9 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_help_menu.py @@ -15,8 +15,9 @@ from utils.constants import COLOR_CYAN, RESET_FORMAT, COLOR_YELLOW # noinspection DuplicatedCode class KlipperFlashMethodHelpMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from components.klipper_firmware.menus.klipper_flash_menu import ( @@ -71,8 +72,9 @@ class KlipperFlashMethodHelpMenu(BaseMenu): # noinspection DuplicatedCode class KlipperFlashCommandHelpMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from components.klipper_firmware.menus.klipper_flash_menu import ( @@ -114,8 +116,9 @@ class KlipperFlashCommandHelpMenu(BaseMenu): # noinspection DuplicatedCode class KlipperMcuConnectionHelpMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from components.klipper_firmware.menus.klipper_flash_menu import ( diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py index 09b1322..9c2394f 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py @@ -161,6 +161,7 @@ class KlipperSelectMcuConnectionMenu(BaseMenu): self, previous_menu: Optional[Type[BaseMenu]] = None, standalone: bool = False ): super().__init__() + self.previous_menu = previous_menu self.__standalone = standalone self.help_menu = KlipperMcuConnectionHelpMenu self.input_label_txt = "Select connection type" diff --git a/kiauh/components/log_uploads/menus/log_upload_menu.py b/kiauh/components/log_uploads/menus/log_upload_menu.py index 3129c52..34f9834 100644 --- a/kiauh/components/log_uploads/menus/log_upload_menu.py +++ b/kiauh/components/log_uploads/menus/log_upload_menu.py @@ -19,8 +19,9 @@ from utils.constants import RESET_FORMAT, COLOR_YELLOW # noinspection PyMethodMayBeStatic class LogUploadMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.logfile_list = get_logfile_list() def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: diff --git a/kiauh/components/moonraker/menus/moonraker_remove_menu.py b/kiauh/components/moonraker/menus/moonraker_remove_menu.py index a72b61c..102c369 100644 --- a/kiauh/components/moonraker/menus/moonraker_remove_menu.py +++ b/kiauh/components/moonraker/menus/moonraker_remove_menu.py @@ -20,6 +20,7 @@ from utils.constants import RESET_FORMAT, COLOR_RED, COLOR_CYAN class MoonrakerRemoveMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.remove_moonraker_service = False self.remove_moonraker_dir = False self.remove_moonraker_env = False diff --git a/kiauh/components/webui_client/menus/client_remove_menu.py b/kiauh/components/webui_client/menus/client_remove_menu.py index ed11e0a..8cfa50f 100644 --- a/kiauh/components/webui_client/menus/client_remove_menu.py +++ b/kiauh/components/webui_client/menus/client_remove_menu.py @@ -23,6 +23,7 @@ class ClientRemoveMenu(BaseMenu): self, client: BaseWebClient, previous_menu: Optional[Type[BaseMenu]] = None ): super().__init__() + self.previous_menu = previous_menu self.client = client self.rm_client = False self.rm_client_config = False diff --git a/kiauh/core/menus/advanced_menu.py b/kiauh/core/menus/advanced_menu.py index 959b1ac..2235334 100644 --- a/kiauh/core/menus/advanced_menu.py +++ b/kiauh/core/menus/advanced_menu.py @@ -26,6 +26,7 @@ from utils.constants import COLOR_YELLOW, RESET_FORMAT class AdvancedMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from core.menus.main_menu import MainMenu diff --git a/kiauh/core/menus/backup_menu.py b/kiauh/core/menus/backup_menu.py index 0eb8698..4bfb2c5 100644 --- a/kiauh/core/menus/backup_menu.py +++ b/kiauh/core/menus/backup_menu.py @@ -32,6 +32,7 @@ from utils.constants import COLOR_CYAN, RESET_FORMAT, COLOR_YELLOW class BackupMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from core.menus.main_menu import MainMenu diff --git a/kiauh/core/menus/install_menu.py b/kiauh/core/menus/install_menu.py index ecf4f78..ce42419 100644 --- a/kiauh/core/menus/install_menu.py +++ b/kiauh/core/menus/install_menu.py @@ -27,6 +27,7 @@ from utils.constants import COLOR_GREEN, RESET_FORMAT class InstallMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from core.menus.main_menu import MainMenu diff --git a/kiauh/core/menus/remove_menu.py b/kiauh/core/menus/remove_menu.py index 7d8ac75..ee6272a 100644 --- a/kiauh/core/menus/remove_menu.py +++ b/kiauh/core/menus/remove_menu.py @@ -27,6 +27,7 @@ from utils.constants import COLOR_RED, RESET_FORMAT class RemoveMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from core.menus.main_menu import MainMenu diff --git a/kiauh/core/menus/settings_menu.py b/kiauh/core/menus/settings_menu.py index d26f49a..8ed407b 100644 --- a/kiauh/core/menus/settings_menu.py +++ b/kiauh/core/menus/settings_menu.py @@ -13,8 +13,9 @@ from core.menus.base_menu import BaseMenu # noinspection PyMethodMayBeStatic class SettingsMenu(BaseMenu): - def __init__(self): + def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: from core.menus.main_menu import MainMenu diff --git a/kiauh/core/menus/update_menu.py b/kiauh/core/menus/update_menu.py index ba7d735..3af9085 100644 --- a/kiauh/core/menus/update_menu.py +++ b/kiauh/core/menus/update_menu.py @@ -43,6 +43,7 @@ from utils.constants import ( class UpdateMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.kl_local = f"{COLOR_WHITE}{RESET_FORMAT}" self.kl_remote = f"{COLOR_WHITE}{RESET_FORMAT}" diff --git a/kiauh/extensions/extensions_menu.py b/kiauh/extensions/extensions_menu.py index b9f7e13..7d7e59e 100644 --- a/kiauh/extensions/extensions_menu.py +++ b/kiauh/extensions/extensions_menu.py @@ -26,6 +26,7 @@ from utils.constants import RESET_FORMAT, COLOR_CYAN, COLOR_YELLOW class ExtensionsMenu(BaseMenu): def __init__(self, previous_menu: Optional[Type[BaseMenu]] = None): super().__init__() + self.previous_menu = previous_menu self.extensions: Dict[str, BaseExtension] = self.discover_extensions() def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: @@ -109,6 +110,7 @@ class ExtensionSubmenu(BaseMenu): ): super().__init__() self.extension = extension + self.previous_menu = previous_menu def set_previous_menu(self, previous_menu: Optional[Type[BaseMenu]]) -> None: self.previous_menu: Type[BaseMenu] = (