Skip to content

Commit 0221764

Browse files
committed
fix(tui): xp run status display
1 parent 2752c87 commit 0221764

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

  • src/experimaestro/tui/widgets

src/experimaestro/tui/widgets/runs.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from textual.reactive import reactive
1010
from textual.binding import Binding
1111

12+
from experimaestro.scheduler.interfaces import ExperimentStatus
1213
from experimaestro.scheduler.state_provider import StateProvider
1314
from experimaestro.tui.utils import format_duration
1415
from experimaestro.tui.messages import RunSelected
@@ -83,18 +84,18 @@ def refresh_runs(self) -> None:
8384
continue
8485
added_runs.add(run.run_id)
8586

86-
# Format status with jobs info when running
87-
if run.status == "active":
88-
jobs_parts = [f"{run.finished_jobs}/{run.total_jobs}"]
89-
if run.failed_jobs > 0:
90-
jobs_parts.append(f"{run.failed_jobs}✗")
91-
status = f"🏃 {' '.join(jobs_parts)}"
92-
elif run.status == "completed":
93-
status = "✓ Done"
94-
elif run.status == "failed":
95-
status = "❌ Failed"
96-
else:
97-
status = run.status or "-"
87+
match run.status:
88+
case ExperimentStatus.RUNNING:
89+
jobs_parts = [f"{run.finished_jobs}/{run.total_jobs}"]
90+
if run.failed_jobs > 0:
91+
jobs_parts.append(f"{run.failed_jobs}✗")
92+
status = f"🏃 {' '.join(jobs_parts)}"
93+
case ExperimentStatus.DONE:
94+
status = "✓ Done"
95+
case ExperimentStatus.FAILED:
96+
status = "❌ Failed"
97+
case _: # The "else" or default case
98+
status = str(run.status.value) if run.status else "-"
9899

99100
# Mark current run
100101
run_id_display = run.run_id

0 commit comments

Comments
 (0)