Upload files to "Modules"
This commit is contained in:
39
Modules/submenu.py
Normal file
39
Modules/submenu.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import sys # For exiting the program
|
||||||
|
from Modules.All_Pages.clear_screen import clear_screen
|
||||||
|
from Modules.All_Pages.wrappers import header # Import the header function
|
||||||
|
|
||||||
|
def build_submenu(menu_title, target_ip, actions, open_ports):
|
||||||
|
# Initialize a dictionary to track the status of actions
|
||||||
|
action_status = {key: False for key in actions} # False means not completed
|
||||||
|
|
||||||
|
while True:
|
||||||
|
clear_screen()
|
||||||
|
header(target_ip, open_ports) # Call the header with the target_ip and open_ports
|
||||||
|
print("=====================================")
|
||||||
|
print(f" {menu_title} Menu ")
|
||||||
|
print("=====================================\n")
|
||||||
|
|
||||||
|
# Display menu options with status
|
||||||
|
for key, action in actions.items():
|
||||||
|
status = "✔️ " if action_status[key] else "❌" # Check mark if completed, cross otherwise
|
||||||
|
print(f"[{key}] {status} {action['description']}")
|
||||||
|
print("[0] Return to Main Menu")
|
||||||
|
print("[q] EXIT\n")
|
||||||
|
|
||||||
|
# Get user choice
|
||||||
|
choice = input("Enter your choice: ").strip().lower()
|
||||||
|
|
||||||
|
# Handle menu choices
|
||||||
|
if choice in actions:
|
||||||
|
# Call the associated function with target_ip and update status
|
||||||
|
actions[choice]["function"](target_ip, open_ports)
|
||||||
|
action_status[choice] = True # Mark the action as completed
|
||||||
|
elif choice == "0":
|
||||||
|
print("Returning to main menu...")
|
||||||
|
break
|
||||||
|
elif choice in ["q", "exit", "quit"]:
|
||||||
|
print("Logging out...")
|
||||||
|
sys.exit()
|
||||||
|
else:
|
||||||
|
print("Invalid choice. Please try again.")
|
||||||
|
input("Press Enter to continue...")
|
Reference in New Issue
Block a user