diff --git a/kiauh/components/droidklipp/droidklipp.py b/kiauh/components/droidklipp/droidklipp.py index 65b24d8..2248d4e 100644 --- a/kiauh/components/droidklipp/droidklipp.py +++ b/kiauh/components/droidklipp/droidklipp.py @@ -3,15 +3,39 @@ import subprocess def install_droidklipp(): try: + print("Are you sure you want to install DroidKlipp? (Y/N)") + user_confirmation = input().strip().lower() + + if user_confirmation != 'y': + print("DroidKlipp installation aborted.") + return + print("Installing DroidKlipp...") subprocess.run(['sudo', 'apt', 'install', '-y', 'adb', 'tmux'], check=True) + # Define the DroidKlipp repository URL and directory droidklipp_repo_url = "https://github.com/CodeMasterCody3D/DroidKlipp.git" - if not os.path.isdir('DroidKlipp'): - subprocess.run(['git', 'clone', droidklipp_repo_url], check=True) + droidklipp_dir = os.path.expanduser('~/DroidKlipp') - os.chdir('DroidKlipp') + # Check if DroidKlipp directory exists, if not create it + if not os.path.isdir(droidklipp_dir): + print("DroidKlipp folder not found, creating directory...") + os.makedirs(droidklipp_dir) + + # Clone the repository if not already cloned + if not os.path.isdir(os.path.join(droidklipp_dir, '.git')): + print("Cloning the DroidKlipp repository...") + subprocess.run(['git', 'clone', droidklipp_repo_url, droidklipp_dir], check=True) + else: + print("DroidKlipp repository already exists.") + + # Change to the DroidKlipp directory + os.chdir(droidklipp_dir) + + # Set executable permissions for the installation script subprocess.run(['sudo', 'chmod', '+x', 'droidklipp.sh'], check=True) + + # Run the installation script subprocess.run(['./droidklipp.sh'], check=True) print("DroidKlipp installation complete!") @@ -19,3 +43,5 @@ def install_droidklipp(): print(f"Error during installation: {e}") except Exception as e: print(f"Unexpected error: {e}") + +# Ensure you call this with proper confirmation before installation diff --git a/kiauh/core/menus/install_menu.py b/kiauh/core/menus/install_menu.py index 3fc946c..28fbf3b 100644 --- a/kiauh/core/menus/install_menu.py +++ b/kiauh/core/menus/install_menu.py @@ -51,8 +51,9 @@ class InstallMenu(BaseMenu): "5": Option(method=self.install_mainsail_config), "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 + "8": Option(method=self.install_droidklipp), # Add DroidKlipp option + "9": Option(method=self.install_crowsnest), + } def print_menu(self) -> None: