From 7ecf7594a46ef3dd447b2fe01b3f35c2e7d632e7 Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Thu, 16 Mar 2017 20:33:50 +0000 Subject: [PATCH] Add PixelSpinner, based on braille characters --- README.rst | 3 ++- progress/spinner.py | 3 +++ test_progress.py | 5 +++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/README.rst b/README.rst index 94d65d7..3f3be76 100644 --- a/README.rst +++ b/README.rst @@ -109,12 +109,13 @@ For actions with an unknown number of steps you can use a spinner: # Do some work spinner.next() -There are 4 predefined spinners: +There are 5 predefined spinners: - ``Spinner`` - ``PieSpinner`` - ``MoonSpinner`` - ``LineSpinner`` +- ``PixelSpinner`` Other diff --git a/progress/spinner.py b/progress/spinner.py index 5226c34..464c7b2 100644 --- a/progress/spinner.py +++ b/progress/spinner.py @@ -39,3 +39,6 @@ class MoonSpinner(Spinner): class LineSpinner(Spinner): phases = ['⎺', '⎻', '⎼', '⎽', '⎼', '⎻'] + +class PixelSpinner(Spinner): + phases = ['⣾','⣷', '⣯', '⣟', '⡿', '⢿', '⣻', '⣽'] diff --git a/test_progress.py b/test_progress.py index 7d59093..958d9bf 100755 --- a/test_progress.py +++ b/test_progress.py @@ -8,7 +8,8 @@ import time from progress.bar import (Bar, ChargingBar, FillingSquaresBar, FillingCirclesBar, IncrementalBar, PixelBar, ShadyBar) -from progress.spinner import Spinner, PieSpinner, MoonSpinner, LineSpinner +from progress.spinner import (Spinner, PieSpinner, MoonSpinner, LineSpinner, + PixelSpinner) from progress.counter import Counter, Countdown, Stack, Pie @@ -30,7 +31,7 @@ for bar_cls in (IncrementalBar, PixelBar, ShadyBar): for i in bar.iter(range(200)): 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)): sleep() print()