Accrochage/GUI-Accrochage.py

49 lines
1.7 KiB
Python

#Prérequis :
# Install tk / PySimpleGUI
# sudo apt install python3-tk
import PySimpleGUI as sg
import subprocess
def run_script(script_path):
try:
result = subprocess.run(['python3', script_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
return result.stdout.decode('utf-8'), result.stderr.decode('utf-8')
except Exception as e:
return '', str(e)
# Définir le layout de la fenêtre
layout = [
[sg.Text("Conversion du XML", size=(30, 1), justification="center", font=("Arial", 16, "bold"))],
[sg.Text("Préparation du XML :")],
[sg.Button("Executer la conversion"), sg.Button("Validation"), sg.Button("Fermer")],
[sg.Output(size=(50, 20))],
[sg.Text("", size=(50, 1), key="-VALIDATION-RESULT-", text_color="black")] # Ajout d'un élément Text pour les résultats de validation
]
# Créer la fenêtre
window = sg.Window("Accrochage caisse des dépots", layout)
# Boucle d'événements pour traiter les events et obtenir les values
while True:
event, values = window.read()
if event == "Executer la conversion":
stdout, stderr = run_script('Accrochage.py')
print(stdout)
if stderr:
print("Erreur:", stderr)
elif event == "Validation":
stdout, stderr = run_script('validation.py')
if not stderr:
window["-VALIDATION-RESULT-"].update("Fichier analysé, consulter le l'affichage...", text_color="lime")
else:
window["-VALIDATION-RESULT-"].update("Erreur de validation, consulter le l'affichage...", text_color="red")
print(stdout if stdout else stderr)
elif event == sg.WIN_CLOSED or event == "Fermer":
break
window.close()