Clean command

This commit is contained in:
2026-08-22 17:17:30 +02:00
parent 576e3c9452
commit 15d1319374
7 changed files with 436 additions and 6 deletions
+23 -2
View File
@@ -802,8 +802,9 @@ class CopienatorApp(tk.Tk):
variant = self._current_variant()
command = self._make_command()
if variant.dangerous and not messagebox.askyesno(
"Confirmation requise",
"Cette commande réinitialise ou supprime des résultats de correction. Continuer ?",
"Nettoyage irréversible" if step.id == "clean" else "Confirmation requise",
variant.danger_warning
or "Cette commande réinitialise ou supprime des résultats de correction. Continuer ?",
icon="warning",
):
return
@@ -893,6 +894,26 @@ class CopienatorApp(tk.Tk):
if not step_id:
return
status = process_status(return_code, interrupted)
if step_id == "clean" and status == "success":
self._append_console(
f"\n[Terminé — code {return_code}{STATUS_LABELS[status]}]\n"
)
self.info_var.set(
"Nettoyage terminé : la progression précédente a été supprimée."
)
self.active_step_id = None
# Do not recreate .copienator-gui.json after clean removed it.
self.state_store = StateStore()
self._populate_tree()
self._update_controls()
messagebox.showinfo(
"Nettoyage terminé",
"Les fichiers intermédiaires et la progression du GUI ont été "
"supprimés. Les copies traitées, les fichiers textuels de l’énoncé, "
"correction.json, les journaux et les livrables de A Rendre ont "
"été conservés.",
)
return
self.state_store.update_step(step_id, status=status, return_code=return_code)
self.state_store.add_history(
{