Loading installsystems/progressbar/widgets.py +21 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,27 @@ class FileTransferSpeed(Widget): return self.format % (scaled, self.prefixes[power], self.unit) class FileTransferSize(Widget): 'Widget for showing the transfer size (useful for file transfers).' format = '%6.2f %s%s' prefixes = ' kMGTPEZY' __slots__ = ('unit', 'format') def __init__(self, unit='B'): self.unit = unit def update(self, pbar): 'Updates the widget with the current SI prefixed speed.' if pbar.currval < 2e-6: # =~ 0 scaled = power = 0 else: power = int(math.log(pbar.currval, 1000)) scaled = pbar.currval / 1000.**power return self.format % (scaled, self.prefixes[power], self.unit) class AnimatedMarker(Widget): '''An animated marker for the progress bar which defaults to appear as if Loading installsystems/tools.py +3 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,8 @@ import time from subprocess import call, check_call, CalledProcessError import installsystems from installsystems.progressbar import ProgressBar, Percentage, FileTransferSpeed from installsystems.progressbar import ProgressBar, Percentage from installsystems.progressbar import FileTransferSpeed, FileTransferSize from installsystems.progressbar import Bar, BouncingBar, ETA, UnknownLength from installsystems.tarball import Tarball from installsystems.printer import * Loading Loading @@ -72,7 +73,7 @@ class PipeFile(object): # init progress bar # we use 0 because a null file is cannot show a progression during write if self.size == 0: widget = [ BouncingBar(), " ", FileTransferSpeed() ] widget = [ FileTransferSize(), " ", BouncingBar(), " ", FileTransferSpeed() ] maxval = UnknownLength else: widget = [ Percentage(), " ", Bar(), " ", FileTransferSpeed(), " ", ETA() ] Loading Loading
installsystems/progressbar/widgets.py +21 −0 Original line number Diff line number Diff line Loading @@ -140,6 +140,27 @@ class FileTransferSpeed(Widget): return self.format % (scaled, self.prefixes[power], self.unit) class FileTransferSize(Widget): 'Widget for showing the transfer size (useful for file transfers).' format = '%6.2f %s%s' prefixes = ' kMGTPEZY' __slots__ = ('unit', 'format') def __init__(self, unit='B'): self.unit = unit def update(self, pbar): 'Updates the widget with the current SI prefixed speed.' if pbar.currval < 2e-6: # =~ 0 scaled = power = 0 else: power = int(math.log(pbar.currval, 1000)) scaled = pbar.currval / 1000.**power return self.format % (scaled, self.prefixes[power], self.unit) class AnimatedMarker(Widget): '''An animated marker for the progress bar which defaults to appear as if Loading
installsystems/tools.py +3 −2 Original line number Diff line number Diff line Loading @@ -16,7 +16,8 @@ import time from subprocess import call, check_call, CalledProcessError import installsystems from installsystems.progressbar import ProgressBar, Percentage, FileTransferSpeed from installsystems.progressbar import ProgressBar, Percentage from installsystems.progressbar import FileTransferSpeed, FileTransferSize from installsystems.progressbar import Bar, BouncingBar, ETA, UnknownLength from installsystems.tarball import Tarball from installsystems.printer import * Loading Loading @@ -72,7 +73,7 @@ class PipeFile(object): # init progress bar # we use 0 because a null file is cannot show a progression during write if self.size == 0: widget = [ BouncingBar(), " ", FileTransferSpeed() ] widget = [ FileTransferSize(), " ", BouncingBar(), " ", FileTransferSpeed() ] maxval = UnknownLength else: widget = [ Percentage(), " ", Bar(), " ", FileTransferSpeed(), " ", ETA() ] Loading