mirror of https://github.com/borgbackup/borg.git
Merge pull request #1536 from enkore/f/prip2
ProgressIndicatorPercent / extract minor cosmetic enhancement
This commit is contained in:
commit
1d750e802e
|
@ -459,10 +459,10 @@ class Archiver:
|
||||||
|
|
||||||
filter = self.build_filter(matcher, peek_and_store_hardlink_masters, strip_components)
|
filter = self.build_filter(matcher, peek_and_store_hardlink_masters, strip_components)
|
||||||
if progress:
|
if progress:
|
||||||
progress_logger = logging.getLogger(ProgressIndicatorPercent.LOGGER)
|
pi = ProgressIndicatorPercent(msg='Extracting files %5.1f%%', step=0.1)
|
||||||
progress_logger.info('Calculating size')
|
pi.output('Calculating size')
|
||||||
extracted_size = sum(item.file_size(hardlink_masters) for item in archive.iter_items(filter))
|
extracted_size = sum(item.file_size(hardlink_masters) for item in archive.iter_items(filter))
|
||||||
pi = ProgressIndicatorPercent(total=extracted_size, msg='Extracting files %5.1f%%', step=0.1)
|
pi.total = extracted_size
|
||||||
else:
|
else:
|
||||||
pi = None
|
pi = None
|
||||||
|
|
||||||
|
|
|
@ -1107,7 +1107,7 @@ def yes(msg=None, false_msg=None, true_msg=None, default_msg=None,
|
||||||
class ProgressIndicatorPercent:
|
class ProgressIndicatorPercent:
|
||||||
LOGGER = 'borg.output.progress'
|
LOGGER = 'borg.output.progress'
|
||||||
|
|
||||||
def __init__(self, total, step=5, start=0, msg="%3.0f%%"):
|
def __init__(self, total=0, step=5, start=0, msg="%3.0f%%"):
|
||||||
"""
|
"""
|
||||||
Percentage-based progress indicator
|
Percentage-based progress indicator
|
||||||
|
|
||||||
|
@ -1121,6 +1121,7 @@ class ProgressIndicatorPercent:
|
||||||
self.trigger_at = start # output next percentage value when reaching (at least) this
|
self.trigger_at = start # output next percentage value when reaching (at least) this
|
||||||
self.step = step
|
self.step = step
|
||||||
self.msg = msg
|
self.msg = msg
|
||||||
|
self.output_len = len(self.msg % 100.0)
|
||||||
self.handler = None
|
self.handler = None
|
||||||
self.logger = logging.getLogger(self.LOGGER)
|
self.logger = logging.getLogger(self.LOGGER)
|
||||||
|
|
||||||
|
@ -1154,13 +1155,15 @@ class ProgressIndicatorPercent:
|
||||||
def show(self, current=None, increase=1):
|
def show(self, current=None, increase=1):
|
||||||
pct = self.progress(current, increase)
|
pct = self.progress(current, increase)
|
||||||
if pct is not None:
|
if pct is not None:
|
||||||
return self.output(pct)
|
return self.output(self.msg % pct)
|
||||||
|
|
||||||
def output(self, percent):
|
def output(self, message):
|
||||||
self.logger.info(self.msg % percent)
|
self.output_len = max(len(message), self.output_len)
|
||||||
|
message = message.ljust(self.output_len)
|
||||||
|
self.logger.info(message)
|
||||||
|
|
||||||
def finish(self):
|
def finish(self):
|
||||||
self.logger.info(" " * len(self.msg % 100.0))
|
self.output('')
|
||||||
|
|
||||||
|
|
||||||
class ProgressIndicatorEndless:
|
class ProgressIndicatorEndless:
|
||||||
|
|
Loading…
Reference in New Issue