aboutsummaryrefslogtreecommitdiff
path: root/Timer.py
diff options
context:
space:
mode:
authorGravatar jesopo2016-04-19 13:25:50 +0100
committerGravatar jesopo2016-04-19 13:25:50 +0100
commitbc12c7789199d2e93513ea018badaf87815ae7e6 (patch)
treee7a3204ffda43fcf25584f2e310fea052cd1e441 /Timer.py
parententirely reworked the timer system to work with the event system, will eventu... (diff)
did what I said I would sooner than I thought I would. centralised persisting timers through bot restarts.
Diffstat (limited to 'Timer.py')
-rw-r--r--Timer.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/Timer.py b/Timer.py
index 32392628..789e7e37 100644
--- a/Timer.py
+++ b/Timer.py
@@ -1,22 +1,27 @@
-import time
+import time, uuid
class Timer(object):
- def __init__(self, bot, event_name, delay, **kwargs):
+ def __init__(self, bot, event_name, delay, next_due=None, **kwargs):
+ self.id = uuid.uuid4().hex
self.bot = bot
self.event_name = event_name
self.delay = delay
+ if next_due:
+ self.next_due = next_due
+ else:
+ self.set_next_due()
self.kwargs = kwargs
self._done = False
self.call_count = 0
- def set_started_time(self):
- self.started_time = time.time()
+ def set_next_due(self):
+ self.next_due = time.time()+self.delay
def due(self):
return self.time_left() <= 0
def time_left(self):
- return (self.started_time+self.delay)-time.time()
+ return self.next_due-time.time()
def call(self):
self._done = True
@@ -26,7 +31,7 @@ class Timer(object):
def redo(self):
self._done = False
- self.set_started_time()
+ self.set_next_due()
def done(self):
return self._done