diff options
| author | 2018-10-13 01:13:14 +0100 | |
|---|---|---|
| committer | 2018-10-13 01:13:14 +0100 | |
| commit | 561d686643f894f344c68d459899eb98bcd1aaf6 (patch) | |
| tree | a0d95df92b9307a4dcea67db9f6d18dd15c3a419 /src/Timers.py | |
| parent | Fixed incorrect comment about what counts as high/low for roulette in (diff) | |
| signature | ||
Correctly remove contextual timers from src/Timers.py
Diffstat (limited to 'src/Timers.py')
| -rw-r--r-- | src/Timers.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/Timers.py b/src/Timers.py index 7c17f2b5..fc4ab6ba 100644 --- a/src/Timers.py +++ b/src/Timers.py @@ -1,8 +1,9 @@ import time, uuid class Timer(object): - def __init__(self, id, name, delay, next_due, kwargs): + def __init__(self, id, context, name, delay, next_due, kwargs): self.id = id + self.context = context self.name = name self.delay = delay if next_due: @@ -60,7 +61,12 @@ class Timers(object): "name": timer.name, "delay": timer.delay, "next-due": timer.next_due, "kwargs": timer.kwargs}) def _remove(self, timer): - self.timers.remove(timer) + if timer.context: + self.context_timers[timer.context].remove(timer) + if not self.context_timers[timer.context]: + del self.context_timers[timer.conteext] + else: + self.timers.remove(timer) self.database.bot_settings.delete("timer-%s" % timer.id) def add(self, name, delay, next_due=None, **kwargs): @@ -69,7 +75,7 @@ class Timers(object): self._add(None, name, delay, next_due, None, True, kwargs) def _add(self, context, name, delay, next_due, id, persist, kwargs): id = id or uuid.uuid4().hex - timer = Timer(id, name, delay, next_due, kwargs) + timer = Timer(id, context, name, delay, next_due, kwargs) if persist: self._persist(timer) |
