Ejemplo n.º 1
0
    class CLIProgressBar(object):
        widgets = [' ', Bar(marker=RotatingMarker()), ' ', Percentage()]

        def __init__(self, size=100, label="", color=None, fd=sys.stdout):
            self.progress_bar = PB(widgets=[label] + self.widgets,
                                   maxval=size,
                                   fd=fd)
            self.progress = 0

        def start(self, width='50%'):
            self.progress_bar.start()
            self.progress = 0

        def increment(self, i=1):
            p = self.progress + i
            self.progress_bar.update(p)

        def update(self, progress):
            self.progress_bar.update(progress)

        def reset(self):
            self.progress_bar.start()
            self.progress = 0

        def end(self):
            self.progress_bar.finish()

        def __call__(self, iterable):
            return self.progress_bar(iterable)
Ejemplo n.º 2
0
def example18():
    widgets = [Percentage(), ' ', Bar(), ' ', ETA(), ' ', AdaptiveETA()]
    pbar = ProgressBar(widgets=widgets, maxval=500)
    pbar.start()
    for i in range(500):
        time.sleep(0.01 + (i < 100) * 0.01 + (i > 400) * 0.9)
        pbar.update(i + 1)
    pbar.finish()
Ejemplo n.º 3
0
def example1():
    widgets = ['Test: ', Percentage(), ' ', Bar(marker=RotatingMarker()),
               ' ', ETA(), ' ', FileTransferSpeed()]
    pbar = ProgressBar(widgets=widgets, maxval=10000000).start()
    for i in range(1000000):
        # do something
        pbar.update(10 * i + 1)
    pbar.finish()
Ejemplo n.º 4
0
def example4():
    widgets = ['Test: ', Percentage(), ' ',
               Bar(marker='0', left='[', right=']'),
               ' ', ETA(), ' ', FileTransferSpeed()]
    pbar = ProgressBar(widgets=widgets, maxval=500)
    pbar.start()
    for i in range(100, 500 + 1, 50):
        time.sleep(0.2)
        pbar.update(i)
    pbar.finish()
Ejemplo n.º 5
0
def example2():
    class CrazyFileTransferSpeed(FileTransferSpeed):

        """It's bigger between 45 and 80 percent."""

        def update(self, pbar):
            if 45 < pbar.percentage() < 80:
                return 'Bigger Now ' + FileTransferSpeed.update(self, pbar)
            else:
                return FileTransferSpeed.update(self, pbar)

    widgets = [CrazyFileTransferSpeed(), ' <<<', Bar(), '>>> ',
               Percentage(), ' ', ETA()]
    pbar = ProgressBar(widgets=widgets, maxval=10000000)
    # maybe do something
    pbar.start()
    for i in range(2000000):
        # do something
        pbar.update(5 * i + 1)
    pbar.finish()
Ejemplo n.º 6
0
def example0():
    pbar = ProgressBar(widgets=[Percentage(), Bar()], maxval=300).start()
    for i in range(300):
        time.sleep(0.01)
        pbar.update(i + 1)
    pbar.finish()