summaryrefslogtreecommitdiffstats
path: root/examples/jobs.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:18:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-14 20:18:28 +0000
commitf8363b456f1ab31ee56abad579b215af195093d5 (patch)
treeb1500c675c2e0a55fb75721a854e1510acf7c862 /examples/jobs.py
parentInitial commit. (diff)
downloadrich-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.py31
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)
+ )