Show fewer progress steps
This commit is contained in:
parent
abcb4a5061
commit
0e2c705b03
1 changed files with 12 additions and 0 deletions
|
|
@ -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))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue