diff options
| author | 2019-07-09 11:14:05 +0100 | |
|---|---|---|
| committer | 2019-07-09 11:14:05 +0100 | |
| commit | 32fa999c78801d996a39cfb90fa628271eb7d9ed (patch) | |
| tree | cc4ee8c79b229859a43faef60d5523088b04e7de /src | |
| parent | Show new label for PR 'labeled' events (diff) | |
| signature | ||
Allow Timer objects to be cancelled
Diffstat (limited to 'src')
| -rw-r--r-- | src/Timers.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/Timers.py b/src/Timers.py index c371038d..ea70ec69 100644 --- a/src/Timers.py +++ b/src/Timers.py @@ -18,7 +18,7 @@ class Timer(object): def set_next_due(self): self.next_due = time.time()+self.delay def due(self) -> bool: - return self.time_left() <= 0 + return not self.done() and self.time_left() <= 0 def time_left(self) -> float: return self.next_due-time.time() @@ -27,6 +27,8 @@ class Timer(object): self.set_next_due() def finish(self): self._done = True + def cancel(self): + self.finish() def done(self) -> bool: return self._done @@ -108,8 +110,8 @@ class Timers(object): timer.finish() self.events.on("timer.%s" % timer.name).call(timer=timer, **timer.kwargs) - if timer.done(): - self._remove(timer) + if timer.done(): + self._remove(timer) def purge_context(self, context: str): if context in self.context_timers: |
