diff --git a/.vs/ProjectSettings.json b/.vs/ProjectSettings.json new file mode 100644 index 0000000..866f1e1 --- /dev/null +++ b/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..d83a414 --- /dev/null +++ b/.vs/VSWorkspaceState.json @@ -0,0 +1,11 @@ +{ + "ExpandedNodes": [ + "", + "\\kiauh", + "\\kiauh\\components\\droidklipp", + "\\kiauh\\core", + "\\kiauh\\core\\menus" + ], + "SelectedNode": "\\kiauh\\core\\menus\\main_menu.py", + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/.vs/kiauhPlusDroidKlipp/v16/.suo b/.vs/kiauhPlusDroidKlipp/v16/.suo new file mode 100644 index 0000000..d4b0219 Binary files /dev/null and b/.vs/kiauhPlusDroidKlipp/v16/.suo differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite new file mode 100644 index 0000000..94c8977 Binary files /dev/null and b/.vs/slnx.sqlite differ diff --git a/kiauh/components/droidklipp/droidklipp.py b/kiauh/components/droidklipp/droidklipp.py new file mode 100644 index 0000000..65b24d8 --- /dev/null +++ b/kiauh/components/droidklipp/droidklipp.py @@ -0,0 +1,21 @@ +import os +import subprocess + +def install_droidklipp(): + try: + print("Installing DroidKlipp...") + subprocess.run(['sudo', 'apt', 'install', '-y', 'adb', 'tmux'], check=True) + + droidklipp_repo_url = "https://github.com/CodeMasterCody3D/DroidKlipp.git" + if not os.path.isdir('DroidKlipp'): + subprocess.run(['git', 'clone', droidklipp_repo_url], check=True) + + os.chdir('DroidKlipp') + subprocess.run(['sudo', 'chmod', '+x', 'droidklipp.sh'], check=True) + subprocess.run(['./droidklipp.sh'], check=True) + + print("DroidKlipp installation complete!") + except subprocess.CalledProcessError as e: + print(f"Error during installation: {e}") + except Exception as e: + print(f"Unexpected error: {e}") diff --git a/kiauh/core/menus/install_menu.py b/kiauh/core/menus/install_menu.py index a5fbe9c..f2516ba 100644 --- a/kiauh/core/menus/install_menu.py +++ b/kiauh/core/menus/install_menu.py @@ -40,7 +40,6 @@ class InstallMenu(BaseMenu): def set_previous_menu(self, previous_menu: Type[BaseMenu] | None) -> None: from core.menus.main_menu import MainMenu - self.previous_menu = previous_menu if previous_menu is not None else MainMenu def set_options(self) -> None: @@ -53,6 +52,7 @@ class InstallMenu(BaseMenu): "6": Option(method=self.install_fluidd_config), "7": Option(method=self.install_klipperscreen), "8": Option(method=self.install_crowsnest), + "9": Option(method=self.install_droidklipp), # Add DroidKlipp option } def print_menu(self) -> None: @@ -61,15 +61,17 @@ class InstallMenu(BaseMenu): ╟───────────────────────────┬───────────────────────────╢ ║ Firmware & API: │ Touchscreen GUI: ║ ║ 1) [Klipper] │ 7) [KlipperScreen] ║ - ║ 2) [Moonraker] │ ║ + ║ 2) [Moonraker] │ 8) [DroidKlipp] ║ + ║ │ ║ ║ │ Webcam Streamer: ║ - ║ Webinterface: │ 8) [Crowsnest] ║ + ║ Webinterface: │ 9) [Crowsnest] ║ ║ 3) [Mainsail] │ ║ ║ 4) [Fluidd] │ ║ ║ │ ║ ║ Client-Config: │ ║ ║ 5) [Mainsail-Config] │ ║ ║ 6) [Fluidd-Config] │ ║ + ║ │ ║ ╟───────────────────────────┴───────────────────────────╢ """ )[1:] @@ -106,3 +108,7 @@ class InstallMenu(BaseMenu): def install_crowsnest(self, **kwargs) -> None: install_crowsnest() + + # Add this method to handle DroidKlipp installation + def install_droidklipp(self, **kwargs) -> None: + install_droidklipp() # Call the function to install DroidKlipp diff --git a/kiauh/core/menus/main_menu.py b/kiauh/core/menus/main_menu.py index 7ab4c8b..6ae9b0d 100644 --- a/kiauh/core/menus/main_menu.py +++ b/kiauh/core/menus/main_menu.py @@ -12,6 +12,7 @@ import sys import textwrap from typing import Callable, Type +from components.droidklipp.droidklipp import install_droidklipp from components.crowsnest.crowsnest import get_crowsnest_status from components.klipper.klipper_utils import get_klipper_status from components.klipperscreen.klipperscreen import get_klipperscreen_status diff --git a/kiauh/utils/common.py b/kiauh/utils/common.py index 2880e6d..d5cbb93 100644 --- a/kiauh/utils/common.py +++ b/kiauh/utils/common.py @@ -9,6 +9,8 @@ from __future__ import annotations +from components.droidklipp.droidklipp import install_droidklipp + import re from datetime import datetime from pathlib import Path