mirror of
https://github.com/verigak/progress.git
synced 2025-12-08 19:33:24 +00:00
Merge pull request #38 from moreati/pixels
PixelBar and PixelSpinner, based on Braille characters
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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 = (' ', '░', '▒', '▓', '█')
|
||||||
|
|||||||
@@ -39,3 +39,6 @@ class MoonSpinner(Spinner):
|
|||||||
|
|
||||||
class LineSpinner(Spinner):
|
class LineSpinner(Spinner):
|
||||||
phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻']
|
phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻']
|
||||||
|
|
||||||
|
class PixelSpinner(Spinner):
|
||||||
|
phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽']
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
Reference in New Issue
Block a user