mirror of
https://github.com/dw-0/kiauh.git
synced 2025-12-29 18:53:35 +05:00
refactor(kiauh): move core modules to core package
Signed-off-by: Dominik Willner <th33xitus@gmail.com>
This commit is contained in:
0
kiauh/core/menus/__init__.py
Normal file
0
kiauh/core/menus/__init__.py
Normal file
38
kiauh/core/menus/advanced_menu.py
Normal file
38
kiauh/core/menus/advanced_menu.py
Normal file
@@ -0,0 +1,38 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
import textwrap
|
||||
|
||||
from kiauh.core.menus.base_menu import BaseMenu
|
||||
from kiauh.utils.constants import COLOR_YELLOW, RESET_FORMAT
|
||||
|
||||
|
||||
class AdvancedMenu(BaseMenu):
|
||||
def __init__(self):
|
||||
super().__init__(header=True, options={}, footer_type="back")
|
||||
|
||||
def print_menu(self):
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
/=======================================================\\
|
||||
| {COLOR_YELLOW}~~~~~~~~~~~~~ [ Advanced Menu ] ~~~~~~~~~~~~~{RESET_FORMAT} |
|
||||
|-------------------------------------------------------|
|
||||
| Klipper & API: | Mainsail: |
|
||||
| 0) [Rollback] | 5) [Theme installer] |
|
||||
| | |
|
||||
| Firmware: | System: |
|
||||
| 1) [Build only] | 6) [Change hostname] |
|
||||
| 2) [Flash only] | |
|
||||
| 3) [Build + Flash] | Extras: |
|
||||
| 4) [Get MCU ID] | 7) [G-Code Shell Command] |
|
||||
"""
|
||||
)[1:]
|
||||
print(menu, end="")
|
||||
198
kiauh/core/menus/base_menu.py
Normal file
198
kiauh/core/menus/base_menu.py
Normal file
@@ -0,0 +1,198 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
import textwrap
|
||||
from abc import abstractmethod, ABC
|
||||
from typing import Dict, Any
|
||||
|
||||
from kiauh.utils.constants import (
|
||||
COLOR_GREEN,
|
||||
COLOR_YELLOW,
|
||||
COLOR_RED,
|
||||
COLOR_CYAN,
|
||||
RESET_FORMAT,
|
||||
)
|
||||
|
||||
|
||||
def clear():
|
||||
subprocess.call("clear", shell=True)
|
||||
|
||||
|
||||
def print_header():
|
||||
header = textwrap.dedent(
|
||||
f"""
|
||||
/=======================================================\\
|
||||
| {COLOR_CYAN}~~~~~~~~~~~~~~~~~ [ KIAUH ] ~~~~~~~~~~~~~~~~~{RESET_FORMAT} |
|
||||
| {COLOR_CYAN} Klipper Installation And Update Helper {RESET_FORMAT} |
|
||||
| {COLOR_CYAN}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~{RESET_FORMAT} |
|
||||
\=======================================================/
|
||||
"""
|
||||
)[1:]
|
||||
print(header, end="")
|
||||
|
||||
|
||||
def print_quit_footer():
|
||||
footer = textwrap.dedent(
|
||||
f"""
|
||||
|-------------------------------------------------------|
|
||||
| {COLOR_RED}Q) Quit{RESET_FORMAT} |
|
||||
\=======================================================/
|
||||
"""
|
||||
)[1:]
|
||||
print(footer, end="")
|
||||
|
||||
|
||||
def print_back_footer():
|
||||
footer = textwrap.dedent(
|
||||
f"""
|
||||
|-------------------------------------------------------|
|
||||
| {COLOR_GREEN}B) « Back{RESET_FORMAT} |
|
||||
\=======================================================/
|
||||
"""
|
||||
)[1:]
|
||||
print(footer, end="")
|
||||
|
||||
|
||||
def print_back_help_footer():
|
||||
footer = textwrap.dedent(
|
||||
f"""
|
||||
|-------------------------------------------------------|
|
||||
| {COLOR_GREEN}B) « Back{RESET_FORMAT} | {COLOR_RED}Q) Quit{RESET_FORMAT} |
|
||||
\=======================================================/
|
||||
"""
|
||||
)[1:]
|
||||
print(footer, end="")
|
||||
|
||||
|
||||
def print_back_quit_footer():
|
||||
footer = textwrap.dedent(
|
||||
f"""
|
||||
|-------------------------------------------------------|
|
||||
| {COLOR_GREEN}B) « Back{RESET_FORMAT} | {COLOR_YELLOW}H) Help [?]{RESET_FORMAT} |
|
||||
\=======================================================/
|
||||
"""
|
||||
)[1:]
|
||||
print(footer, end="")
|
||||
|
||||
|
||||
def print_back_quit_help_footer():
|
||||
footer = textwrap.dedent(
|
||||
f"""
|
||||
|-------------------------------------------------------|
|
||||
| {COLOR_GREEN}B) « Back{RESET_FORMAT} | {COLOR_RED}Q) Quit{RESET_FORMAT} | {COLOR_YELLOW}H) Help [?]{RESET_FORMAT} |
|
||||
\=======================================================/
|
||||
"""
|
||||
)[1:]
|
||||
print(footer, end="")
|
||||
|
||||
|
||||
class BaseMenu(ABC):
|
||||
QUIT_FOOTER = "quit"
|
||||
BACK_FOOTER = "back"
|
||||
BACK_HELP_FOOTER = "back_help"
|
||||
BACK_QUIT_FOOTER = "back_quit"
|
||||
BACK_QUIT_HELP_FOOTER = "back_quit_help"
|
||||
|
||||
def __init__(
|
||||
self, options: Dict[int, Any], options_offset=0, header=True, footer_type="quit"
|
||||
):
|
||||
self.options = options
|
||||
self.options_offset = options_offset
|
||||
self.header = header
|
||||
self.footer_type = footer_type
|
||||
|
||||
@abstractmethod
|
||||
def print_menu(self):
|
||||
raise NotImplementedError("Subclasses must implement the print_menu method")
|
||||
|
||||
def print_footer(self):
|
||||
footer_type_map = {
|
||||
self.QUIT_FOOTER: print_quit_footer,
|
||||
self.BACK_FOOTER: print_back_footer,
|
||||
self.BACK_HELP_FOOTER: print_back_help_footer,
|
||||
self.BACK_QUIT_FOOTER: print_back_quit_footer,
|
||||
self.BACK_QUIT_HELP_FOOTER: print_back_quit_help_footer,
|
||||
}
|
||||
footer_function = footer_type_map.get(self.footer_type, print_quit_footer)
|
||||
footer_function()
|
||||
|
||||
def display(self):
|
||||
# clear()
|
||||
if self.header:
|
||||
print_header()
|
||||
self.print_menu()
|
||||
self.print_footer()
|
||||
|
||||
def handle_user_input(self):
|
||||
while True:
|
||||
choice = input(f"{COLOR_CYAN}###### Perform action: {RESET_FORMAT}")
|
||||
|
||||
error_msg = (
|
||||
f"{COLOR_RED}Invalid input.{RESET_FORMAT}"
|
||||
if choice.isalpha()
|
||||
else f"{COLOR_RED}Invalid input. Select a number between {min(self.options)} and {max(self.options)}.{RESET_FORMAT}"
|
||||
)
|
||||
|
||||
if choice.isdigit() and 0 <= int(choice) < len(self.options):
|
||||
return choice
|
||||
elif choice.isalpha():
|
||||
allowed_input = {
|
||||
"quit": ["q"],
|
||||
"back": ["b"],
|
||||
"back_help": ["b", "h"],
|
||||
"back_quit": ["b", "q"],
|
||||
"back_quit_help": ["b", "q", "h"],
|
||||
}
|
||||
if (
|
||||
self.footer_type in allowed_input
|
||||
and choice.lower() in allowed_input[self.footer_type]
|
||||
):
|
||||
return choice
|
||||
else:
|
||||
print(error_msg)
|
||||
else:
|
||||
print(error_msg)
|
||||
|
||||
def start(self):
|
||||
while True:
|
||||
self.display()
|
||||
choice = self.handle_user_input()
|
||||
|
||||
if choice == "q":
|
||||
print(f"{COLOR_GREEN}###### Happy printing!{RESET_FORMAT}")
|
||||
sys.exit(0)
|
||||
elif choice == "b":
|
||||
return
|
||||
elif choice == "p":
|
||||
print("help!")
|
||||
else:
|
||||
self.execute_option(int(choice))
|
||||
|
||||
def execute_option(self, choice):
|
||||
option = self.options.get(choice, None)
|
||||
|
||||
if isinstance(option, type) and issubclass(option, BaseMenu):
|
||||
self.navigate_to_submenu(option)
|
||||
elif callable(option):
|
||||
option()
|
||||
elif option is None:
|
||||
raise NotImplementedError(f"No implementation for option {choice}")
|
||||
else:
|
||||
raise TypeError(
|
||||
f"Type {type(option)} of option {choice} not of type BaseMenu or Method"
|
||||
)
|
||||
|
||||
def navigate_to_submenu(self, submenu_class):
|
||||
submenu = submenu_class()
|
||||
submenu.previous_menu = self
|
||||
submenu.start()
|
||||
95
kiauh/core/menus/install_menu.py
Normal file
95
kiauh/core/menus/install_menu.py
Normal file
@@ -0,0 +1,95 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
import textwrap
|
||||
|
||||
from kiauh.core.menus.base_menu import BaseMenu
|
||||
from kiauh.modules.klipper import klipper_setup
|
||||
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT
|
||||
|
||||
|
||||
# noinspection PyMethodMayBeStatic
|
||||
class InstallMenu(BaseMenu):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
header=True,
|
||||
options={
|
||||
1: self.install_klipper,
|
||||
2: self.install_moonraker,
|
||||
3: self.install_mainsail,
|
||||
4: self.install_fluidd,
|
||||
5: self.install_klipperscreen,
|
||||
6: self.install_pretty_gcode,
|
||||
7: self.install_telegram_bot,
|
||||
8: self.install_obico,
|
||||
9: self.install_octoeverywhere,
|
||||
10: self.install_mobileraker,
|
||||
11: self.install_crowsnest,
|
||||
},
|
||||
footer_type="back",
|
||||
)
|
||||
|
||||
def print_menu(self):
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
/=======================================================\\
|
||||
| {COLOR_GREEN}~~~~~~~~~~~ [ Installation Menu ] ~~~~~~~~~~~{RESET_FORMAT} |
|
||||
|-------------------------------------------------------|
|
||||
| You need this menu usually only for installing |
|
||||
| all necessary dependencies for the various |
|
||||
| functions on a completely fresh system. |
|
||||
|-------------------------------------------------------|
|
||||
| Firmware & API: | Other: |
|
||||
| 1) [Klipper] | 6) [PrettyGCode] |
|
||||
| 2) [Moonraker] | 7) [Telegram Bot] |
|
||||
| | 8) $(obico_install_title) |
|
||||
| Klipper Webinterface: | 9) [OctoEverywhere] |
|
||||
| 3) [Mainsail] | 10) [Mobileraker] |
|
||||
| 4) [Fluidd] | |
|
||||
| | Webcam Streamer: |
|
||||
| Touchscreen GUI: | 11) [Crowsnest] |
|
||||
| 5) [KlipperScreen] | |
|
||||
"""
|
||||
)[1:]
|
||||
print(menu, end="")
|
||||
|
||||
def install_klipper(self):
|
||||
klipper_setup.run_klipper_setup(install=True)
|
||||
|
||||
def install_moonraker(self):
|
||||
print("install_moonraker")
|
||||
|
||||
def install_mainsail(self):
|
||||
print("install_mainsail")
|
||||
|
||||
def install_fluidd(self):
|
||||
print("install_fluidd")
|
||||
|
||||
def install_klipperscreen(self):
|
||||
print("install_klipperscreen")
|
||||
|
||||
def install_pretty_gcode(self):
|
||||
print("install_pretty_gcode")
|
||||
|
||||
def install_telegram_bot(self):
|
||||
print("install_telegram_bot")
|
||||
|
||||
def install_obico(self):
|
||||
print("install_obico")
|
||||
|
||||
def install_octoeverywhere(self):
|
||||
print("install_octoeverywhere")
|
||||
|
||||
def install_mobileraker(self):
|
||||
print("install_mobileraker")
|
||||
|
||||
def install_crowsnest(self):
|
||||
print("install_crowsnest")
|
||||
67
kiauh/core/menus/main_menu.py
Normal file
67
kiauh/core/menus/main_menu.py
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
import textwrap
|
||||
|
||||
from kiauh.core.menus.advanced_menu import AdvancedMenu
|
||||
from kiauh.core.menus.base_menu import BaseMenu
|
||||
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.utils.constants import COLOR_MAGENTA, COLOR_CYAN, RESET_FORMAT
|
||||
|
||||
|
||||
class MainMenu(BaseMenu):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
header=True,
|
||||
options={
|
||||
0: self.test,
|
||||
1: InstallMenu,
|
||||
2: UpdateMenu,
|
||||
3: RemoveMenu,
|
||||
4: AdvancedMenu,
|
||||
5: None,
|
||||
6: SettingsMenu,
|
||||
},
|
||||
footer_type="quit",
|
||||
)
|
||||
|
||||
def print_menu(self):
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
/=======================================================\\
|
||||
| {COLOR_CYAN}~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~{RESET_FORMAT} |
|
||||
|-------------------------------------------------------|
|
||||
| 0) [Log-Upload] | Klipper: <TODO> |
|
||||
| | Repo: <TODO> |
|
||||
| 1) [Install] | |
|
||||
| 2) [Update] | Moonraker: <TODO> |
|
||||
| 3) [Remove] | Repo: <TODO> |
|
||||
| 4) [Advanced] | |
|
||||
| 5) [Backup] | Mainsail: <TODO> |
|
||||
| | Fluidd: <TODO> |
|
||||
| 6) [Settings] | KlipperScreen: <TODO> |
|
||||
| | Mobileraker: <TODO> |
|
||||
| | |
|
||||
| | Crowsnest: <TODO> |
|
||||
| | Telegram Bot: <TODO> |
|
||||
| | Obico: <TODO> |
|
||||
| | OctoEverywhere: <TODO> |
|
||||
|-------------------------------------------------------|
|
||||
| {COLOR_CYAN}KIAUH v6.0.0{RESET_FORMAT} | Changelog: {COLOR_MAGENTA}https://git.io/JnmlX{RESET_FORMAT} |
|
||||
"""
|
||||
)[1:]
|
||||
print(menu, end="")
|
||||
|
||||
def test(self):
|
||||
print("blub")
|
||||
111
kiauh/core/menus/remove_menu.py
Normal file
111
kiauh/core/menus/remove_menu.py
Normal file
@@ -0,0 +1,111 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
import textwrap
|
||||
|
||||
from kiauh.core.menus.base_menu import BaseMenu
|
||||
from kiauh.modules.klipper import klipper_setup
|
||||
from kiauh.utils.constants import COLOR_RED, RESET_FORMAT
|
||||
|
||||
|
||||
# noinspection PyMethodMayBeStatic
|
||||
class RemoveMenu(BaseMenu):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
header=True,
|
||||
options={
|
||||
1: self.remove_klipper,
|
||||
2: self.remove_moonraker,
|
||||
3: self.remove_mainsail,
|
||||
4: self.remove_mainsail_config,
|
||||
5: self.remove_fluidd,
|
||||
6: self.remove_fluidd_config,
|
||||
7: self.remove_klipperscreen,
|
||||
8: self.remove_crowsnest,
|
||||
9: self.remove_mjpgstreamer,
|
||||
10: self.remove_pretty_gcode,
|
||||
11: self.remove_telegram_bot,
|
||||
12: self.remove_obico,
|
||||
13: self.remove_octoeverywhere,
|
||||
14: self.remove_mobileraker,
|
||||
15: self.remove_nginx,
|
||||
},
|
||||
footer_type="back",
|
||||
)
|
||||
|
||||
def print_menu(self):
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
/=======================================================\\
|
||||
| {COLOR_RED}~~~~~~~~~~~~~~ [ Remove Menu ] ~~~~~~~~~~~~~~{RESET_FORMAT} |
|
||||
|-------------------------------------------------------|
|
||||
| INFO: Configurations and/or any backups will be kept! |
|
||||
|-------------------------------------------------------|
|
||||
| Firmware & API: | Webcam Streamer: |
|
||||
| 1) [Klipper] | 8) [Crowsnest] |
|
||||
| 2) [Moonraker] | 9) [MJPG-Streamer] |
|
||||
| | |
|
||||
| Klipper Webinterface: | Other: |
|
||||
| 3) [Mainsail] | 10) [PrettyGCode] |
|
||||
| 4) [Mainsail-Config] | 11) [Telegram Bot] |
|
||||
| 5) [Fluidd] | 12) [Obico for Klipper] |
|
||||
| 6) [Fluidd-Config] | 13) [OctoEverywhere] |
|
||||
| | 14) [Mobileraker] |
|
||||
| Touchscreen GUI: | 15) [NGINX] |
|
||||
| 7) [KlipperScreen] | |
|
||||
"""
|
||||
)[1:]
|
||||
print(menu, end="")
|
||||
|
||||
def remove_klipper(self):
|
||||
klipper_setup.run_klipper_setup(install=False)
|
||||
|
||||
def remove_moonraker(self):
|
||||
print("remove_moonraker")
|
||||
|
||||
def remove_mainsail(self):
|
||||
print("remove_mainsail")
|
||||
|
||||
def remove_mainsail_config(self):
|
||||
print("remove_mainsail_config")
|
||||
|
||||
def remove_fluidd(self):
|
||||
print("remove_fluidd")
|
||||
|
||||
def remove_fluidd_config(self):
|
||||
print("remove_fluidd_config")
|
||||
|
||||
def remove_klipperscreen(self):
|
||||
print("remove_klipperscreen")
|
||||
|
||||
def remove_crowsnest(self):
|
||||
print("remove_crowsnest")
|
||||
|
||||
def remove_mjpgstreamer(self):
|
||||
print("remove_mjpgstreamer")
|
||||
|
||||
def remove_pretty_gcode(self):
|
||||
print("remove_pretty_gcode")
|
||||
|
||||
def remove_telegram_bot(self):
|
||||
print("remove_telegram_bot")
|
||||
|
||||
def remove_obico(self):
|
||||
print("remove_obico")
|
||||
|
||||
def remove_octoeverywhere(self):
|
||||
print("remove_octoeverywhere")
|
||||
|
||||
def remove_mobileraker(self):
|
||||
print("remove_mobileraker")
|
||||
|
||||
def remove_nginx(self):
|
||||
print("remove_nginx")
|
||||
33
kiauh/core/menus/settings_menu.py
Normal file
33
kiauh/core/menus/settings_menu.py
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
from kiauh.core.menus.base_menu import BaseMenu
|
||||
|
||||
|
||||
# noinspection PyMethodMayBeStatic
|
||||
class SettingsMenu(BaseMenu):
|
||||
def __init__(self):
|
||||
super().__init__(header=True, options={})
|
||||
|
||||
def print_menu(self):
|
||||
print("self")
|
||||
|
||||
def execute_option_p(self):
|
||||
# Implement the functionality for Option P
|
||||
print("Executing Option P")
|
||||
|
||||
def execute_option_q(self):
|
||||
# Implement the functionality for Option Q
|
||||
print("Executing Option Q")
|
||||
|
||||
def execute_option_r(self):
|
||||
# Implement the functionality for Option R
|
||||
print("Executing Option R")
|
||||
111
kiauh/core/menus/update_menu.py
Normal file
111
kiauh/core/menus/update_menu.py
Normal file
@@ -0,0 +1,111 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# ======================================================================= #
|
||||
# Copyright (C) 2020 - 2023 Dominik Willner <th33xitus@gmail.com> #
|
||||
# #
|
||||
# This file is part of KIAUH - Klipper Installation And Update Helper #
|
||||
# https://github.com/dw-0/kiauh #
|
||||
# #
|
||||
# This file may be distributed under the terms of the GNU GPLv3 license #
|
||||
# ======================================================================= #
|
||||
|
||||
import textwrap
|
||||
|
||||
from kiauh.core.menus.base_menu import BaseMenu
|
||||
from kiauh.modules.klipper.klipper_setup import update_klipper
|
||||
from kiauh.utils.constants import COLOR_GREEN, RESET_FORMAT
|
||||
|
||||
|
||||
# noinspection PyMethodMayBeStatic
|
||||
class UpdateMenu(BaseMenu):
|
||||
def __init__(self):
|
||||
super().__init__(
|
||||
header=True,
|
||||
options={
|
||||
0: self.update_all,
|
||||
1: self.update_klipper,
|
||||
2: self.update_moonraker,
|
||||
3: self.update_mainsail,
|
||||
4: self.update_fluidd,
|
||||
5: self.update_klipperscreen,
|
||||
6: self.update_pgc_for_klipper,
|
||||
7: self.update_telegram_bot,
|
||||
8: self.update_moonraker_obico,
|
||||
9: self.update_octoeverywhere,
|
||||
10: self.update_mobileraker,
|
||||
11: self.update_crowsnest,
|
||||
12: self.upgrade_system_packages,
|
||||
},
|
||||
footer_type="back",
|
||||
)
|
||||
|
||||
def print_menu(self):
|
||||
menu = textwrap.dedent(
|
||||
f"""
|
||||
/=======================================================\\
|
||||
| {COLOR_GREEN}~~~~~~~~~~~~~~ [ Update Menu ] ~~~~~~~~~~~~~~{RESET_FORMAT} |
|
||||
|-------------------------------------------------------|
|
||||
| 0) [Update all] | | |
|
||||
| | Current: | Latest: |
|
||||
| Klipper & API: |--------------|--------------|
|
||||
| 1) [Klipper] | | |
|
||||
| 2) [Moonraker] | | |
|
||||
| | | |
|
||||
| Klipper Webinterface: |--------------|--------------|
|
||||
| 3) [Mainsail] | | |
|
||||
| 4) [Fluidd] | | |
|
||||
| | | |
|
||||
| Touchscreen GUI: |--------------|--------------|
|
||||
| 5) [KlipperScreen] | | |
|
||||
| | | |
|
||||
| Other: |--------------|--------------|
|
||||
| 6) [PrettyGCode] | | |
|
||||
| 7) [Telegram Bot] | | |
|
||||
| 8) [Obico for Klipper] | | |
|
||||
| 9) [OctoEverywhere] | | |
|
||||
| 10) [Mobileraker] | | |
|
||||
| 11) [Crowsnest] | | |
|
||||
| |-----------------------------|
|
||||
| 12) [System] | | |
|
||||
"""
|
||||
)[1:]
|
||||
print(menu, end="")
|
||||
|
||||
def update_all(self):
|
||||
print("update_all")
|
||||
|
||||
def update_klipper(self):
|
||||
update_klipper()
|
||||
|
||||
def update_moonraker(self):
|
||||
print("update_moonraker")
|
||||
|
||||
def update_mainsail(self):
|
||||
print("update_mainsail")
|
||||
|
||||
def update_fluidd(self):
|
||||
print("update_fluidd")
|
||||
|
||||
def update_klipperscreen(self):
|
||||
print("update_klipperscreen")
|
||||
|
||||
def update_pgc_for_klipper(self):
|
||||
print("update_pgc_for_klipper")
|
||||
|
||||
def update_telegram_bot(self):
|
||||
print("update_telegram_bot")
|
||||
|
||||
def update_moonraker_obico(self):
|
||||
print("update_moonraker_obico")
|
||||
|
||||
def update_octoeverywhere(self):
|
||||
print("update_octoeverywhere")
|
||||
|
||||
def update_mobileraker(self):
|
||||
print("update_mobileraker")
|
||||
|
||||
def update_crowsnest(self):
|
||||
print("update_crowsnest")
|
||||
|
||||
def upgrade_system_packages(self):
|
||||
print("upgrade_system_packages")
|
||||
Reference in New Issue
Block a user