From 4a0c9b98ad62e3a2d86a5bc7d07e4ec3feb59821 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Schmelczer?= Date: Fri, 27 May 2022 11:11:36 +0200 Subject: [PATCH] Show fewer progress steps --- great_ai/src/great_ai/open_s3/helper/progress_bar.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/great_ai/src/great_ai/open_s3/helper/progress_bar.py b/great_ai/src/great_ai/open_s3/helper/progress_bar.py index 8e6d1d1..25dc11f 100644 --- a/great_ai/src/great_ai/open_s3/helper/progress_bar.py +++ b/great_ai/src/great_ai/open_s3/helper/progress_bar.py @@ -7,11 +7,14 @@ from .bytes_to_megabytes import bytes_to_megabytes class ProgressBar: + min_progress_percentage_change = 10 + def __init__(self, file_size: int, logger: Logger, prefix: str): self._file_size = file_size self._logger = logger self._prefix = prefix + self._last_percentage: float = 0 self._seen_so_far = 0 self._lock = threading.Lock() @@ -20,6 +23,15 @@ class ProgressBar: self._seen_so_far += bytes_amount percentage = (self._seen_so_far / float(self._file_size)) * 100 + if ( + percentage != 100 + and percentage - self._last_percentage + < self.min_progress_percentage_change + ): + return + + self._last_percentage = percentage + file_size_mb = bytes_to_megabytes(self._file_size) seen_so_far_mb = bytes_to_megabytes(self._seen_so_far) progress = seen_so_far_mb.rjust(len(file_size_mb))