aboutsummaryrefslogtreecommitdiff
path: root/Timer.py
diff options
context:
space:
mode:
authorGravatar jesopo2016-03-29 12:56:58 +0100
committerGravatar jesopo2016-03-29 12:56:58 +0100
commitf943d63098a50746f4e470e403a991a4d9713030 (patch)
treedeeb98058917d0155227211d72576f0cbab28d3f /Timer.py
parentInitial commit (diff)
first commit.
Diffstat (limited to 'Timer.py')
-rw-r--r--Timer.py29
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