hashhub/PCPL/statusbar.py

18 lines
601 B
Python

class statusbar:
def __init__(self, repeat, length=30, step=1):
self.length = length
self.repeat = repeat
self.steps = repeat/length
self.step = step
def __iter__(self):
self.current = 0
return self
def __next__(self):
print("["+("#"*int(self.current/self.steps))+(" "*(self.length-int(self.current/self.steps)))+"]"+f"{self.current}/{self.repeat}", end="\r", flush=True)
if self.current >= self.repeat:
print()
raise StopIteration
self.current += self.step
return self.current-1