diff options
Diffstat (limited to 'Timer.py')
| -rw-r--r-- | Timer.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/Timer.py b/Timer.py new file mode 100644 index 00000000..24ca5b87 --- /dev/null +++ b/Timer.py @@ -0,0 +1,29 @@ +import time + +class Timer(object): + def __init__(self, function, delay, *args, **kwargs): + self.function = function + self.delay = delay + self.kwargs = kwargs + self.args = args + self._done = False + + def set_started_time(self): + self.started_time = time.time() + + def due(self): + return self.time_left() <= 0 + + def time_left(self): + return (self.started_time+self.delay)-time.time() + + def call(self): + self._done = True + self.function(self, *self.args, **self.kwargs) + + def redo(self): + self.done = False + self.set_started_time() + + def done(self): + return self._done |
