Print render outcome after the TUI exits (terminal restored).
(
run_state: RunState,
spec_filename: str,
error_message: Optional[str] = None,
)
| 8 | |
| 9 | |
| 10 | def print_exit_summary( |
| 11 | run_state: RunState, |
| 12 | spec_filename: str, |
| 13 | error_message: Optional[str] = None, |
| 14 | ) -> None: |
| 15 | """Print render outcome after the TUI exits (terminal restored).""" |
| 16 | console.quiet = False |
| 17 | |
| 18 | if run_state.render_succeeded: |
| 19 | msg = "\n[#79FC96]✓ rendering completed\n\n" |
| 20 | elif run_state.render_cancelled: |
| 21 | msg = "\n[#FFFFFF]— rendering canceled\n\n" |
| 22 | else: |
| 23 | msg = "\n[#FF6B6B]✗ rendering failed\n\n" |
| 24 | msg += f" [#8E8F91]render id:\t\t\t[#FFFFFF]{run_state.render_id}\n" |
| 25 | msg += f" [#8E8F91]input file:\t\t\t[#FFFFFF]{spec_filename}\n" |
| 26 | msg += f" [#8E8F91]generated code folder:\t[#FFFFFF]{run_state.render_generated_code_path or '-'}\n\n" |
| 27 | msg += f"[#8E8F91]functionalities [#FFFFFF]{run_state.rendered_functionalities} [#8E8F91]used credits [#FFFFFF]{run_state.rendered_functionalities} [#8E8F91]render time [#FFFFFF]{format_duration_hms(run_state.render_time_accumulated)}\n" |
| 28 | console.print(msg) |
| 29 | |
| 30 | if not run_state.render_succeeded and error_message: |
| 31 | console.error(error_message) |
| 32 | console.quiet = True |
no test coverage detected