diff -r 000000000000 -r 676905a3b03c dejsem.1.5/python/dejsem.pycharm/counter.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dejsem.1.5/python/dejsem.pycharm/counter.py Wed Nov 27 09:50:16 2019 +0100 @@ -0,0 +1,34 @@ +# coding=utf8 + +import sys, time, threading +from d import D + + +class Counter(): + + def __init__(self, d, size): + self.d = D("{}, counter".format(d.debid)) + self.counterN = None + if (size > 100 * 1000): + self.counterN = [size, 0, time.time()] + self.counterT = threading.Thread(target=self.counter, args=(self.counterN,), name="counter") + self.counterT.start() + + def update(self, amount): + if self.counterN: + self.counterN[1] += amount + + def stop(self): + if self.counterN: + self.counterN[1] = -1 + self.counterT.join() + + def counter(self, n): + self.d.log("counter started", sev=4) + while n[1] > -1: + elapsed = time.time() - n[2] + kbps = 0 + if elapsed > 0: kbps = int(n[1] / (1024 * elapsed)) + sys.stdout.write("\r{}%, {:4d} KB/s ".format(int(100 * n[1] / n[0]), kbps)) + time.sleep(0.5) + print("", file=sys.stdout)