# coding:utf-8
importsys
importtime
fromprogressbarimportAnimatedMarker,Bar,BouncingBar,Counter,ETA,\
FileTransferSpeed,FormatLabel,Percentage,\
ProgressBar,ReverseBar,RotatingMarker,\
SimpleProgress,Timer
examples=[]
defexample(fn):
try:
name='Example %d'%int(fn.__name__[7:])
except:
name=fn.__name__
defwrapped():
try:
sys.stdout.write('Running: %s\n'%name)
fn()
sys.stdout.write('\n')
exceptKeyboardInterrupt:
sys.stdout.write('\nSkipping example.\n\n')
examples.append(wrapped)
returnwrapped
@example
defexample0():
pbar=ProgressBar(widgets=[Percentage(),Bar()],maxval=300).start()
foriinrange(300):
time.sleep(0.01)
pbar.update(i+1)
pbar.finish()
@example
defexample1():
widgets=['Test: ',Percentage(),' ',Bar(marker=RotatingMarker()),
' ',ETA(),' ',FileTransferSpeed()]
pbar=ProgressBar(widgets=widgets,maxval=10000000).start()
foriinrange(1000000):
# do something
pbar.update(10*i+1)
pbar.finish()
@example
defexample2():
classCrazyFileTransferSpeed(FileTransferSpeed):
"""It's bigger between 45 and 80 percent."""
defupdate(self,pbar):
if45<pbar.percentage()<80:
return'Bigger Now '+FileTransferSpeed.update(self,pbar)
else:
returnFileTransferSpeed.update(self,pbar)
widgets=[CrazyFileTransferSpeed(),' <<<',Bar(),'>>> ',
Percentage(),' ',ETA()]
pbar=ProgressBar(widgets=widgets,maxval=10000000)
# maybe do something
pbar.start()
foriinrange(2000000):
# do something
pbar.update(5*i+1)
pbar.finish()
@example
defexample3():
widgets=[Bar('>'),' ',ETA(),' ',ReverseBar('<')]
pbar=ProgressBar(widgets=widgets,maxval=10000000).start()
foriinrange(1000000):
# do something
pbar.update(10*i+1)
pbar.finish()
@example
defexample4():
widgets=['Test: ',Percentage(),' ',
Bar(marker='0',left='[',right=']'),
' ',ETA(),' ',FileTransferSpeed()]
pbar=ProgressBar(widgets=widgets,maxval=500)
pbar.start()
foriinrange(100,500+1,50):
time.sleep(0.2)
pbar.update(i)
pbar.finish()
@example
defexample5():
pbar=ProgressBar(widgets=[SimpleProgress()],maxval=17).start()
foriinrange(17):
time.sleep(0.2)
pbar.update(i+1)
pbar.finish()
@example
defexample6():
pbar=ProgressBar().start()
foriinrange(100):
time.sleep(0.01)
pbar.update(i+1)
pbar.finish()
@example
defexample7():
pbar=ProgressBar() # Progressbar can guess maxval automatically.
foriinpbar(range(80)):
time.sleep(0.01)
@example
defexample8():
pbar=ProgressBar(maxval=80) # Progressbar can't guess maxval.
foriinpbar((iforiinrange(80))):
time.sleep(0.01)
@example
defexample9():
pbar=ProgressBar(widgets=['Working: ',AnimatedMarker()])
foriinpbar((iforiinrange(50))):
time.sleep(.08)
@example
defexample10():
widgets=['Processed: ',Counter(),' lines (',Timer(),')']
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(150))):
time.sleep(0.1)
@example
defexample11():
widgets=[FormatLabel('Processed: %(value)d lines (in: %(elapsed)s)')]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(150))):
time.sleep(0.1)
@example
defexample12():
widgets=['Balloon: ',AnimatedMarker(markers='.oO<a href="http://www.jobbole.com/members/weiboyes8848">@*</a> ')]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(24))):
time.sleep(0.3)
@example
defexample13():
# You may need python 3.x to see this correctly
try:
widgets=['Arrows: ',AnimatedMarker(markers='←↖↑↗→↘↓↙')]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(24))):
time.sleep(0.3)
exceptUnicodeError:
sys.stdout.write('Unicode error: skipping example')
@example
defexample14():
# You may need python 3.x to see this correctly
try:
widgets=['Arrows: ',AnimatedMarker(markers='◢◣◤◥')]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(24))):
time.sleep(0.3)
exceptUnicodeError:
sys.stdout.write('Unicode error: skipping example')
@example
defexample15():
# You may need python 3.x to see this correctly
try:
widgets=['Wheels: ',AnimatedMarker(markers='◐◓◑◒')]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(24))):
time.sleep(0.3)
exceptUnicodeError:
sys.stdout.write('Unicode error: skipping example')
@example
defexample16():
widgets=[FormatLabel('Bouncer: value %(value)d - '),BouncingBar()]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(180))):
time.sleep(0.05)
@example
defexample17():
widgets=[FormatLabel('Animated Bouncer: value %(value)d - '),
BouncingBar(marker=RotatingMarker())]
pbar=ProgressBar(widgets=widgets)
foriinpbar((iforiinrange(180))):
time.sleep(0.05)
@example
defexample18():
widgets=[Percentage(),
' ',Bar(),
' ',ETA(),
' ',AdaptiveETA()]
pbar=ProgressBar(widgets=widgets,maxval=500)
pbar.start()
foriinrange(500):
time.sleep(0.01+(i<100)*0.01+(i>400)*0.9)
pbar.update(i+1)
pbar.finish()
@example
defexample19():
pbar=ProgressBar()
foriinpbar([]):
pass
pbar.finish()
try:
forexampleinexamples:
example()
exceptKeyboardInterrupt:
sys.stdout('\nQuitting examples.\n')