import subprocess
def request_password():
# Solicita la contraseña al usuario
try:
password = input("Introduce tu contraseña de sudo: ")
return password
except KeyboardInterrupt:
print("\nOperación cancelada.")
exit()
def execute_command(command, password):
try:
# Ejecuta el comando con sudo usando la contraseña proporcionada
result = subprocess.run(f'echo {password} | sudo -S {command}', shell=True, check=True, text=True)
if result.returncode == 0:
print("\n--- Comando ejecutado con éxito ---\n")
except subprocess.CalledProcessError as e:
print(f"\nError al ejecutar el comando: {e}")
def show_menu(language):
# Opciones de menú en diferentes idiomas
options = {
"es": [
"Limpiar egg existente",
"Limpiar caché",
"Generar Skel",
"Crear entorno de generación",
"Editar archivo de configuración",
"Generar ISO",
"Salir"
],
"it": [
"Pulire l'egg esistente",
"Pulire la cache",
"Generare Skel",
"Creare ambiente di sviluppo",
"Modificare file di configurazione",
"Generare ISO",
"Esci"
],
"en": [
"Clean existing egg",
"Clean cache",
"Generate Skel",
"Create generation environment",
"Edit configuration file",
"Generate ISO",
"Exit"
],
"pt": [
"Limpar egg existente",
"Limpar cache",
"Gerar Skel",
"Criar ambiente de geração",
"Editar arquivo de configuração",
"Gerar ISO",
"Sair"
]
}
print("\nOpciones de Egg-Generator:")
for idx, option in enumerate(options[language], 1):
print(f"{idx}. {option}")
# Solicita una opción al usuario
try:
option = int(input("\nElige una opción (1-7): "))
return option
except ValueError:
print("Opción no válida.")
return None
def main():
# Selección de idioma
languages = {
"es": "Español",
"it": "Italiano",
"en": "Inglés",
"pt": "Portugués"
}
print("Selecciona el idioma / Select your language:")
for code, lang in languages.items():
print(f"{code}: {lang}")
language = input("\nElige un idioma (es/it/en/pt): ").strip().lower()
if language not in languages:
print("Idioma no válido, seleccionando español por defecto.")
language = "es"
password = request_password()
while True:
option = show_menu(language)
if option == 1:
execute_command("eggs kill -n", password)
elif option == 2:
execute_command("eggs tools clean -n", password)
elif option == 3:
execute_command("eggs tools skel -n", password)
elif option == 4:
execute_command("eggs dad -d", password)
elif option == 5:
execute_command("doublecmd", password)
elif option == 6:
execute_command("eggs produce --noicon -n", password)
elif option == 7:
exit_msg = {
"es": "Saliendo...",
"it": "Uscita...",
"en": "Exiting...",
"pt": "Saindo..."
}
print(exit_msg[language])
break
else:
invalid_msg = {
"es": "Opción no válida. Por favor, elige una opción entre 1 y 7.",
"it": "Opzione non valida. Si prega di scegliere un'opzione tra 1 e 7.",
"en": "Invalid option. Please choose an option between 1 and 7.",
"pt": "Opção inválida. Por favor, escolha uma opção entre 1 e 7."
}
print(invalid_msg[language])
if __name__ == "__main__":
main()