diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:18:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-14 20:18:28 +0000 |
commit | f8363b456f1ab31ee56abad579b215af195093d5 (patch) | |
tree | b1500c675c2e0a55fb75721a854e1510acf7c862 /examples/jobs.py | |
parent | Initial commit. (diff) | |
download | rich-upstream.tar.xz rich-upstream.zip |
Adding upstream version 9.11.0.upstream/9.11.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'examples/jobs.py')
-rw-r--r-- | examples/jobs.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/examples/jobs.py b/examples/jobs.py new file mode 100644 index 0000000..6286b56 --- /dev/null +++ b/examples/jobs.py @@ -0,0 +1,31 @@ +from time import sleep +from rich.panel import Panel +from rich.progress import Progress + + +JOBS = [100, 150, 25, 70, 110, 90] + +progress = Progress(auto_refresh=False) +master_task = progress.add_task("overall", total=sum(JOBS)) +jobs_task = progress.add_task("jobs") + +progress.console.print( + Panel( + "[bold blue]A demonstration of progress with a current task and overall progress.", + padding=1, + ) +) + +with progress: + for job_no, job in enumerate(JOBS): + progress.log(f"Starting job #{job_no}") + sleep(0.2) + progress.reset(jobs_task, total=job, description=f"job [bold yellow]#{job_no}") + progress.start_task(jobs_task) + for wait in progress.track(range(job), task_id=jobs_task): + sleep(0.01) + progress.advance(master_task, job) + progress.log(f"Job #{job_no} is complete") + progress.log( + Panel(":sparkle: All done! :sparkle:", border_style="green", padding=1) + ) |