aboutsummaryrefslogtreecommitdiff
path: root/src/Timers.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-07-09 11:16:34 +0100
committerGravatar jesopo2019-07-09 11:16:34 +0100
commit02838e48021e527bd6692d597ea6d5509dd26284 (patch)
treecdf78abadc758e751d39b2a12e42404e89ed67e0 /src/Timers.py
parentAllow Timer objects to be cancelled (diff)
signature
Return new Timers
Diffstat (limited to 'src/Timers.py')
-rw-r--r--src/Timers.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/src/Timers.py b/src/Timers.py
index ea70ec69..8eff1013 100644
--- a/src/Timers.py
+++ b/src/Timers.py
@@ -64,14 +64,15 @@ class Timers(object):
self.timers.remove(timer)
self.database.bot_settings.delete("timer-%s" % timer.id)
- def add(self, name: str, delay: float, next_due: float=None, **kwargs):
- self._add(None, name, delay, next_due, None, False, kwargs)
+ def add(self, name: str, delay: float, next_due: float=None, **kwargs
+ ) -> Timer:
+ return self._add(None, name, delay, next_due, None, False, kwargs)
def add_persistent(self, name: str, delay: float, next_due: float=None,
- **kwargs):
- self._add(None, name, delay, next_due, None, True, kwargs)
+ **kwargs) -> Timer:
+ return self._add(None, name, delay, next_due, None, True, kwargs)
def _add(self, context: typing.Optional[str], name: str, delay: float,
next_due: typing.Optional[float], id: typing.Optional[str],
- persist: bool, kwargs: dict):
+ persist: bool, kwargs: dict) -> Timer:
id = id or str(uuid.uuid4())
timer = Timer(id, context, name, delay, next_due, kwargs)
if persist:
@@ -83,6 +84,7 @@ class Timers(object):
self.context_timers[context].append(timer)
else:
self.timers.append(timer)
+ return timer
def next(self) -> typing.Optional[float]:
times = list(filter(None,
@@ -122,12 +124,12 @@ class TimersContext(object):
self._parent = parent
self.context = context
def add(self, name: str, delay: float, next_due: float=None,
- **kwargs):
- self._parent._add(self.context, name, delay, next_due, None, False,
- kwargs)
+ **kwargs) -> Timer:
+ return self._parent._add(self.context, name, delay, next_due, None,
+ False, kwargs)
def add_persistent(self, name: str, delay: float, next_due: float=None,
- **kwargs):
- self._parent._add(None, name, delay, next_due, None, True,
+ **kwargs) -> Timer:
+ return self._parent._add(None, name, delay, next_due, None, True,
kwargs)
def find_all(self, name: str) -> typing.List[Timer]:
return self._parent.find_all(name)