diff --git a/kiauh/core/menus/main_menu.py b/kiauh/core/menus/main_menu.py index ea0c317..b62b312 100644 --- a/kiauh/core/menus/main_menu.py +++ b/kiauh/core/menus/main_menu.py @@ -18,15 +18,9 @@ from kiauh.core.menus.install_menu import InstallMenu from kiauh.core.menus.remove_menu import RemoveMenu from kiauh.core.menus.settings_menu import SettingsMenu from kiauh.core.menus.update_menu import UpdateMenu -from kiauh.modules.klipper import KLIPPER_DIR, KLIPPER_ENV_DIR -from kiauh.modules.klipper.klipper import Klipper +from kiauh.modules.klipper.klipper_utils import get_klipper_status from kiauh.modules.mainsail.mainsail_utils import get_mainsail_status -from kiauh.modules.moonraker import MOONRAKER_DIR, MOONRAKER_ENV_DIR -from kiauh.modules.moonraker.moonraker import Moonraker -from kiauh.utils.common import ( - get_repo_name, - get_install_status_common, -) +from kiauh.modules.moonraker.moonraker_utils import get_moonraker_status from kiauh.utils.constants import COLOR_MAGENTA, COLOR_CYAN, RESET_FORMAT, COLOR_RED @@ -66,15 +60,11 @@ class MainMenu(BaseMenu): def fetch_status(self) -> None: # klipper - self.kl_status = get_install_status_common( - Klipper, KLIPPER_DIR, KLIPPER_ENV_DIR - ) - self.kl_repo = get_repo_name(KLIPPER_DIR) + self.kl_status = get_klipper_status().get("status") + self.kl_repo = get_klipper_status().get("repo") # moonraker - self.mr_status = get_install_status_common( - Moonraker, MOONRAKER_DIR, MOONRAKER_ENV_DIR - ) - self.mr_repo = get_repo_name(MOONRAKER_DIR) + self.mr_status = get_moonraker_status().get("status") + self.mr_repo = get_moonraker_status().get("repo") # mainsail self.ms_status = get_mainsail_status() diff --git a/kiauh/modules/klipper/klipper_utils.py b/kiauh/modules/klipper/klipper_utils.py index 26d20a6..6e059ce 100644 --- a/kiauh/modules/klipper/klipper_utils.py +++ b/kiauh/modules/klipper/klipper_utils.py @@ -16,22 +16,30 @@ import shutil import subprocess import textwrap -from typing import List, Union +from typing import List, Union, Literal, Dict from kiauh.core.config_manager.config_manager import ConfigManager from kiauh.core.instance_manager.instance_manager import InstanceManager -from kiauh.modules.klipper import MODULE_PATH +from kiauh.modules.klipper import MODULE_PATH, KLIPPER_DIR, KLIPPER_ENV_DIR from kiauh.modules.klipper.klipper import Klipper from kiauh.modules.klipper.klipper_dialogs import ( print_missing_usergroup_dialog, print_select_custom_name_dialog, ) +from kiauh.utils.common import get_install_status_common, get_repo_name from kiauh.utils.constants import CURRENT_USER from kiauh.utils.input_utils import get_confirm, get_string_input from kiauh.utils.logger import Logger from kiauh.utils.system_utils import mask_system_service +def get_klipper_status() -> Dict[Literal["status", "repo"], str]: + return { + "status": get_install_status_common(Klipper, KLIPPER_DIR, KLIPPER_ENV_DIR), + "repo": get_repo_name(KLIPPER_DIR), + } + + def assign_custom_names( instance_count: int, install_count: int, instance_list: List[Klipper] = None ) -> List[str]: diff --git a/kiauh/modules/moonraker/moonraker_utils.py b/kiauh/modules/moonraker/moonraker_utils.py index ce3d99e..394a84f 100644 --- a/kiauh/modules/moonraker/moonraker_utils.py +++ b/kiauh/modules/moonraker/moonraker_utils.py @@ -11,20 +11,32 @@ import os import shutil -from typing import List, Dict +from typing import Dict, Literal from kiauh.core.config_manager.config_manager import ConfigManager from kiauh.modules.moonraker import ( DEFAULT_MOONRAKER_PORT, MODULE_PATH, + MOONRAKER_DIR, + MOONRAKER_ENV_DIR, ) from kiauh.modules.moonraker.moonraker import Moonraker +from kiauh.utils.common import get_install_status_common, get_repo_name from kiauh.utils.logger import Logger from kiauh.utils.system_utils import ( get_ipv4_addr, ) +def get_moonraker_status() -> Dict[Literal["status", "repo"], str]: + return { + "status": get_install_status_common( + Moonraker, MOONRAKER_DIR, MOONRAKER_ENV_DIR + ), + "repo": get_repo_name(MOONRAKER_DIR), + } + + def create_example_moonraker_conf( instance: Moonraker, ports_map: Dict[str, int] ) -> None: