Merge pull request #38 from moreati/pixels

PixelBar and PixelSpinner, based on Braille characters
This commit is contained in:
Georgios Verigakis
2017-04-01 11:50:38 +03:00
committed by GitHub
4 changed files with 17 additions and 6 deletions

View File

@@ -12,13 +12,14 @@ Easy progress reporting for Python
Bars Bars
---- ----
There are 6 progress bars to choose from: There are 7 progress bars to choose from:
- ``Bar`` - ``Bar``
- ``ChargingBar`` - ``ChargingBar``
- ``FillingSquaresBar`` - ``FillingSquaresBar``
- ``FillingCirclesBar`` - ``FillingCirclesBar``
- ``IncrementalBar`` - ``IncrementalBar``
- ``PixelBar``
- ``ShadyBar`` - ``ShadyBar``
To use them, just call ``next`` to advance and ``finish`` to finish: To use them, just call ``next`` to advance and ``finish`` to finish:
@@ -108,12 +109,13 @@ For actions with an unknown number of steps you can use a spinner:
# Do some work # Do some work
spinner.next() spinner.next()
There are 4 predefined spinners: There are 5 predefined spinners:
- ``Spinner`` - ``Spinner``
- ``PieSpinner`` - ``PieSpinner``
- ``MoonSpinner`` - ``MoonSpinner``
- ``LineSpinner`` - ``LineSpinner``
- ``PixelSpinner``
Other Other

View File

@@ -80,5 +80,9 @@ class IncrementalBar(Bar):
self.writeln(line) self.writeln(line)
class PixelBar(IncrementalBar):
phases = ('', '', '', '', '', '', '', '')
class ShadyBar(IncrementalBar): class ShadyBar(IncrementalBar):
phases = (' ', '', '', '', '') phases = (' ', '', '', '', '')

View File

@@ -39,3 +39,6 @@ class MoonSpinner(Spinner):
class LineSpinner(Spinner): class LineSpinner(Spinner):
phases = ['', '', '', '', '', ''] phases = ['', '', '', '', '', '']
class PixelSpinner(Spinner):
phases = ['','', '', '', '', '', '', '']

View File

@@ -6,8 +6,10 @@ import random
import time import time
from progress.bar import (Bar, ChargingBar, FillingSquaresBar, from progress.bar import (Bar, ChargingBar, FillingSquaresBar,
FillingCirclesBar, IncrementalBar, ShadyBar) FillingCirclesBar, IncrementalBar, PixelBar,
from progress.spinner import Spinner, PieSpinner, MoonSpinner, LineSpinner ShadyBar)
from progress.spinner import (Spinner, PieSpinner, MoonSpinner, LineSpinner,
PixelSpinner)
from progress.counter import Counter, Countdown, Stack, Pie from progress.counter import Counter, Countdown, Stack, Pie
@@ -23,13 +25,13 @@ for bar_cls in (Bar, ChargingBar, FillingSquaresBar, FillingCirclesBar):
for i in bar.iter(range(200)): for i in bar.iter(range(200)):
sleep() sleep()
for bar_cls in (IncrementalBar, ShadyBar): for bar_cls in (IncrementalBar, PixelBar, ShadyBar):
suffix = '%(percent)d%% [%(elapsed_td)s / %(eta)d / %(eta_td)s]' suffix = '%(percent)d%% [%(elapsed_td)s / %(eta)d / %(eta_td)s]'
bar = bar_cls(bar_cls.__name__, suffix=suffix) bar = bar_cls(bar_cls.__name__, suffix=suffix)
for i in bar.iter(range(200)): for i in bar.iter(range(200)):
sleep() sleep()
for spin in (Spinner, PieSpinner, MoonSpinner, LineSpinner): for spin in (Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner):
for i in spin(spin.__name__ + ' ').iter(range(100)): for i in spin(spin.__name__ + ' ').iter(range(100)):
sleep() sleep()
print() print()