mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-25 08:43:36 +05:00
refactor(klipper): move setup functions into KlipperSetupService
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
@@ -33,6 +33,7 @@ BORDER_TITLE: str = "┠──────────────────
|
||||
BORDER_LEFT: str = "┃"
|
||||
BORDER_RIGHT: str = "┃"
|
||||
|
||||
|
||||
class Logger:
|
||||
@staticmethod
|
||||
def print_info(msg, prefix=True, start="", end="\n") -> None:
|
||||
@@ -99,12 +100,14 @@ class Logger:
|
||||
print(Color.apply(BORDER_TITLE, color))
|
||||
|
||||
if content:
|
||||
print(Logger.format_content(
|
||||
content,
|
||||
LINE_WIDTH,
|
||||
color,
|
||||
center_content,
|
||||
))
|
||||
print(
|
||||
Logger.format_content(
|
||||
content,
|
||||
LINE_WIDTH,
|
||||
color,
|
||||
center_content,
|
||||
)
|
||||
)
|
||||
|
||||
print(Color.apply(BORDER_BOTTOM, color))
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ import textwrap
|
||||
from typing import Type
|
||||
|
||||
from components.crowsnest.crowsnest import install_crowsnest
|
||||
from components.klipper import klipper_setup
|
||||
from components.klipper.services.klipper_setup_service import KlipperSetupService
|
||||
from components.klipperscreen.klipperscreen import install_klipperscreen
|
||||
from components.moonraker import moonraker_setup
|
||||
from components.webui_client.client_config.client_config_setup import (
|
||||
@@ -36,6 +36,7 @@ class InstallMenu(BaseMenu):
|
||||
self.title = "Installation Menu"
|
||||
self.title_color = Color.GREEN
|
||||
self.previous_menu: Type[BaseMenu] | None = previous_menu
|
||||
self.klsvc = KlipperSetupService()
|
||||
|
||||
def set_previous_menu(self, previous_menu: Type[BaseMenu] | None) -> None:
|
||||
from core.menus.main_menu import MainMenu
|
||||
@@ -75,7 +76,7 @@ class InstallMenu(BaseMenu):
|
||||
print(menu, end="")
|
||||
|
||||
def install_klipper(self, **kwargs) -> None:
|
||||
klipper_setup.install_klipper()
|
||||
self.klsvc.install()
|
||||
|
||||
def install_moonraker(self, **kwargs) -> None:
|
||||
moonraker_setup.install_moonraker()
|
||||
|
||||
@@ -12,10 +12,10 @@ import textwrap
|
||||
from typing import Callable, List, Type
|
||||
|
||||
from components.crowsnest.crowsnest import get_crowsnest_status, update_crowsnest
|
||||
from components.klipper.klipper_setup import update_klipper
|
||||
from components.klipper.klipper_utils import (
|
||||
get_klipper_status,
|
||||
)
|
||||
from components.klipper.services.klipper_setup_service import KlipperSetupService
|
||||
from components.klipperscreen.klipperscreen import (
|
||||
get_klipperscreen_status,
|
||||
update_klipperscreen,
|
||||
@@ -193,7 +193,8 @@ class UpdateMenu(BaseMenu):
|
||||
self.upgrade_system_packages()
|
||||
|
||||
def update_klipper(self, **kwargs) -> None:
|
||||
self._run_update_routine("klipper", update_klipper)
|
||||
klsvc = KlipperSetupService()
|
||||
self._run_update_routine("klipper", klsvc.update)
|
||||
|
||||
def update_moonraker(self, **kwargs) -> None:
|
||||
self._run_update_routine("moonraker", update_moonraker)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
from __future__ import annotations
|
||||
|
||||
from dataclasses import dataclass, field
|
||||
from typing import List
|
||||
@@ -23,12 +24,13 @@ class Message:
|
||||
|
||||
|
||||
class MessageService:
|
||||
_instance = None
|
||||
__cls_instance = None
|
||||
__message: Message | None
|
||||
|
||||
def __new__(cls) -> "MessageService":
|
||||
if cls._instance is None:
|
||||
cls._instance = super(MessageService, cls).__new__(cls)
|
||||
return cls._instance
|
||||
if cls.__cls_instance is None:
|
||||
cls.__cls_instance = super(MessageService, cls).__new__(cls)
|
||||
return cls.__cls_instance
|
||||
|
||||
def __init__(self) -> None:
|
||||
if not hasattr(self, "__initialized"):
|
||||
@@ -36,24 +38,24 @@ class MessageService:
|
||||
if self.__initialized:
|
||||
return
|
||||
self.__initialized = True
|
||||
self.message = None
|
||||
self.__message = None
|
||||
|
||||
def set_message(self, message: Message) -> None:
|
||||
self.message = message
|
||||
self.__message = message
|
||||
|
||||
def display_message(self) -> None:
|
||||
if self.message is None:
|
||||
if self.__message is None:
|
||||
return
|
||||
|
||||
Logger.print_dialog(
|
||||
title=DialogType.CUSTOM,
|
||||
content=self.message.text,
|
||||
custom_title=self.message.title,
|
||||
custom_color=self.message.color,
|
||||
center_content=self.message.centered,
|
||||
content=self.__message.text,
|
||||
custom_title=self.__message.title,
|
||||
custom_color=self.__message.color,
|
||||
center_content=self.__message.centered,
|
||||
)
|
||||
|
||||
self.__clear_message()
|
||||
|
||||
def __clear_message(self) -> None:
|
||||
self.message = None
|
||||
self.__message = None
|
||||
|
||||
Reference in New Issue
Block a user