diff options
| author | historia <historiavg@proton.me> | 2026-08-31 19:45:57 -0400 |
|---|---|---|
| committer | historia <historiavg@proton.me> | 2026-08-31 19:45:57 -0400 |
| commit | 10e72d4960e865acf5346ab8cf518ed5844fe45c (patch) | |
| tree | adf8c10386b9da6280c247f1fed137ef1a514157 /app/ui/runview.py | |
| parent | 4bd0282da65db9f118ef5250582ab67079fad538 (diff) | |
| download | tts-audiobook-generator-10e72d4960e865acf5346ab8cf518ed5844fe45c.tar.gz | |
feat: generate a book with all installed models to compare
Diffstat (limited to 'app/ui/runview.py')
| -rw-r--r-- | app/ui/runview.py | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/app/ui/runview.py b/app/ui/runview.py index 19a8f64..759fcfb 100644 --- a/app/ui/runview.py +++ b/app/ui/runview.py @@ -155,11 +155,11 @@ class RunView(ScreenView): self.server = "starting" self.server_message = "" self.log_tail: List[str] = [] - self.book: Optional[tuple] = None # (index, total, name) + self.book: Optional[tuple] = None # (index, total, name, model) self.chapter: Optional[tuple] = None # (index, total) self.chunk_done = 0 self.chunk_total = 0 - self.book_results: List[tuple] = [] # (name, ok) + self.book_results: List[tuple] = [] # (name, ok, files, error, model) self.error_message = "" self.started_server = False # cancelled/cancelling/finished_at: base self.boot_started: Optional[float] = None @@ -211,7 +211,7 @@ class RunView(ScreenView): elif kind == "book": self.phase = "convert" self.book = (event.get("index"), event.get("total"), - event.get("name") or "") + event.get("name") or "", event.get("model")) self.chapter = None self.chunk_done = 0 self.chunk_total = 0 @@ -239,11 +239,12 @@ class RunView(ScreenView): self.book_results.append((event.get("name") or "?", bool(event.get("ok")), list(event.get("files") or []), - "")) + "", event.get("model"))) elif kind == "book_failed": self.book_results.append((event.get("name") or "?", False, list(event.get("files") or []), - event.get("error") or "conversion failed")) + event.get("error") or "conversion failed", + event.get("model"))) self.error_message = self.error_message or \ (event.get("error") or "conversion failed") elif kind == "done": @@ -486,9 +487,10 @@ class RunView(ScreenView): lines = ["Audiobook generation finished", f"Output directory: {AUDIOBOOKS_FOLDER}"] ok_count = 0 - for name, ok, files, error in self.book_results: + for name, ok, files, error, model in self.book_results: ok_count += 1 if ok else 0 - lines.append(f"{'[OK]' if ok else '[FAIL]'} {name}" + label = f"{name} — {model}" if model else name + lines.append(f"{'[OK]' if ok else '[FAIL]'} {label}" + (f": {', '.join(files)}" if files else "")) if not ok and error: lines.append(f" {error}") @@ -583,10 +585,13 @@ class RunView(ScreenView): def _draw_progress(self, scr, theme, y, inner_x, label_w, value_x, value_w, width) -> int: """The live panel: book, chapter, chunk bar, elapsed, message.""" - # Book line + # Book line ("— model" appended while an "All" run generates with + # a specific model, e.g. "1/6 dune.epub — qwen3_tts_..._q8_0") if self.book is not None: - index, total, name = self.book + index, total, name, model = self.book book_text = f"{index}/{total} {name}" + if model: + book_text += f" — {model}" else: book_text = "waiting..." if self.phase == "convert" else "-" _text(scr, theme, y, inner_x, "Book".ljust(label_w), theme["dim"]) @@ -660,10 +665,11 @@ class RunView(ScreenView): _text(scr, theme, y, value_x, _fit(result, value_w), theme.get(kind, theme["body"])) y += 1 - for name, ok, _files, _error in self.book_results[:5]: + for name, ok, _files, _error, model in self.book_results[:5]: mark = "[OK] " if ok else "[FAIL]" + label = f"{name} — {model}" if model else name _text(scr, theme, y, value_x, - _fit(f"{mark} {name}", value_w), + _fit(f"{mark} {label}", value_w), theme["ok"] if ok else theme["err"]) y += 1 if len(self.book_results) > 5: |
