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 b679c84..19ab94e 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_error_menu.py @@ -32,7 +32,7 @@ class KlipperNoFirmwareErrorMenu(BaseMenu): self.previous_menu = previous_menu def set_options(self) -> None: - self.default_option = Option(self.go_back, False) + self.default_option = Option(method=self.go_back) def print_menu(self) -> None: header = "!!! NO FIRMWARE FILE FOUND !!!" @@ -79,7 +79,7 @@ class KlipperNoBoardTypesErrorMenu(BaseMenu): self.previous_menu = previous_menu def set_options(self) -> None: - self.default_option = Option(self.go_back, False) + self.default_option = Option(method=self.go_back) def print_menu(self) -> None: header = "!!! ERROR GETTING BOARD LIST !!!" diff --git a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py index c9af790..a32ccac 100644 --- a/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py +++ b/kiauh/components/klipper_firmware/menus/klipper_flash_menu.py @@ -260,8 +260,7 @@ class KlipperSelectMcuIdMenu(BaseMenu): def set_options(self) -> None: self.options = { - f"{i}": Option(self.flash_mcu, False, f"{i}") - for i in range(len(self.mcu_list)) + f"{i}": Option(self.flash_mcu, f"{i}") for i in range(len(self.mcu_list)) } def print_menu(self) -> None: @@ -323,7 +322,7 @@ class KlipperSelectSDFlashBoardMenu(BaseMenu): def set_options(self) -> None: self.options = { - f"{i}": Option(self.board_select, False, f"{i}") + f"{i}": Option(self.board_select, f"{i}") for i in range(len(self.available_boards)) } diff --git a/kiauh/components/log_uploads/menus/log_upload_menu.py b/kiauh/components/log_uploads/menus/log_upload_menu.py index 9a3a9ce..5867e4e 100644 --- a/kiauh/components/log_uploads/menus/log_upload_menu.py +++ b/kiauh/components/log_uploads/menus/log_upload_menu.py @@ -32,7 +32,7 @@ class LogUploadMenu(BaseMenu): def set_options(self) -> None: self.options = { - f"{index}": Option(self.upload, False, opt_index=f"{index}") + f"{index}": Option(self.upload, opt_index=f"{index}") for index in range(len(self.logfile_list)) } diff --git a/kiauh/core/menus/__init__.py b/kiauh/core/menus/__init__.py index 569c7f8..1166127 100644 --- a/kiauh/core/menus/__init__.py +++ b/kiauh/core/menus/__init__.py @@ -10,7 +10,7 @@ from __future__ import annotations from dataclasses import dataclass from enum import Enum -from typing import Any, Callable +from typing import Any, Callable, Type @dataclass @@ -22,7 +22,7 @@ class Option: :param opt_data: Can be used to pass any additional data to the menu option """ - method: Callable | None = None + method: Type[Callable] | None = None opt_index: str = "" opt_data: Any = None diff --git a/kiauh/extensions/extensions_menu.py b/kiauh/extensions/extensions_menu.py index d7594cc..60b1167 100644 --- a/kiauh/extensions/extensions_menu.py +++ b/kiauh/extensions/extensions_menu.py @@ -38,9 +38,7 @@ class ExtensionsMenu(BaseMenu): def set_options(self) -> None: self.options = { - i: Option( - self.extension_submenu, menu=True, opt_data=self.extensions.get(i) - ) + i: Option(self.extension_submenu, opt_data=self.extensions.get(i)) for i in self.extensions } diff --git a/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py b/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py index 78a8f48..0483c4d 100644 --- a/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py +++ b/kiauh/extensions/mainsail_theme_installer/mainsail_theme_installer_extension.py @@ -93,7 +93,7 @@ class MainsailThemeInstallMenu(BaseMenu): def set_options(self) -> None: self.options = { - f"{index}": Option(self.install_theme, False, opt_index=f"{index}") + f"{index}": Option(self.install_theme, opt_index=f"{index}") for index in range(len(self.themes)) }