-
Notifications
You must be signed in to change notification settings - Fork 0
/
__init__.py
35 lines (33 loc) · 976 Bytes
/
__init__.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from time import sleep
from threading import Thread,Event
from sys import stdout
class Dotter(object):
def __init__(self,delay=100,symbol='.'):
self.event=Event()
self.delay=delay
self.symbol=symbol
self.status=False
def __loop(self):
while not self.event.is_set():
stdout.write(self.symbol)
stdout.flush()
sleep(self.delay/1000)
def start(self):
if not self.status:
self.event.clear()
Thread(target=self.__loop).start()
self.status=True
def stop(self,newLine=True):
if self.status:
self.event.set()
if newLine:
stdout.write('\n')
self.status=False
def set(self,delay=None,symbol=None):
if delay!=None:
self.delay=delay
if symbol!=None:
self.symbol=symbol
if self.status:
self.stop(False)
self.start()