Show fewer progress steps

This commit is contained in:
Andras Schmelczer 2022-05-27 11:11:36 +02:00
parent abcb4a5061
commit 0e2c705b03

View file

@ -7,11 +7,14 @@ from .bytes_to_megabytes import bytes_to_megabytes
class ProgressBar: class ProgressBar:
min_progress_percentage_change = 10
def __init__(self, file_size: int, logger: Logger, prefix: str): def __init__(self, file_size: int, logger: Logger, prefix: str):
self._file_size = file_size self._file_size = file_size
self._logger = logger self._logger = logger
self._prefix = prefix self._prefix = prefix
self._last_percentage: float = 0
self._seen_so_far = 0 self._seen_so_far = 0
self._lock = threading.Lock() self._lock = threading.Lock()
@ -20,6 +23,15 @@ class ProgressBar:
self._seen_so_far += bytes_amount self._seen_so_far += bytes_amount
percentage = (self._seen_so_far / float(self._file_size)) * 100 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) file_size_mb = bytes_to_megabytes(self._file_size)
seen_so_far_mb = bytes_to_megabytes(self._seen_so_far) seen_so_far_mb = bytes_to_megabytes(self._seen_so_far)
progress = seen_so_far_mb.rjust(len(file_size_mb)) progress = seen_so_far_mb.rjust(len(file_size_mb))