new tools

This commit is contained in:
Zypherift 2024-03-18 00:26:53 +01:00
parent 9f8f888f91
commit 5940eae3f6

71
tools.py Normal file
View File

@ -0,0 +1,71 @@
import os
import shutil
import threading
import subprocess
from consolemenu import *
from consolemenu.items import *
from consolemenu.screen import Screen
import bottombar as bb
logo = """
\033[1m\033[94m _____ \033[0m_\033[94m _\033[0m
\033[94m\033[1m\033[94m _ __ ___| ___\033[0m(_)\033[94m | ___\033[0m
\033[1m\033[94m| '__/ _ \ |_ | | |/ __|\033[0m
\033[1m\033[94m| | | __/ _| | | | (__ \033[0m
\033[1m\033[94m|_| \___|_| |_|_|\___|\033[0m
""" # Just fancy refilc logo
menu = ConsoleMenu(logo, "Tools to help with your development <3")
settings_menu = ConsoleMenu()
# Variable to hold verbose state
verbose_value = True # Default to True
def settings():
settings_menu.show()
def build():
# Clear the screen
Screen.clear()
# Execute the build command and capture its output
build_command = "cd refilc && flutter build apk"
process = subprocess.Popen(build_command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
# Print "Building..." at the bottom of the terminal
with bb.add("asd", label='time', right=True, refresh=1):
# Print the output of the build command
for line in process.stdout:
print(line.decode().strip())
# Wait for the process to finish
process.wait()
# Clear the "Building..." message
print(" " * 10, end="\r")
def toggle_verbose():
global verbose_value
verbose_value = not verbose_value
# Update verbose menu item text based on the new state
verbose_item.text = "Toggle verbose output [X]" if verbose_value else "Toggle verbose output [ ]"
# Main menu items
build_item = FunctionItem("🛠 ~ Build", build)
settings_item = FunctionItem("⚙ ~ Settings", settings)
menu.append_item(build_item)
menu.append_item(settings_item)
# Settings menu items
verbose_item = FunctionItem("Toggle verbose output [X]" if verbose_value else "Toggle verbose output [ ]", toggle_verbose)
settings_menu.append_item(verbose_item)
if __name__ == "__main__":
menu.show()