diff options
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-08-15 15:51:31 +0200 |
---|---|---|
committer | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | 2018-08-15 15:51:31 +0200 |
commit | a6c5ac486b31911aeadc1bbdaa58f95350a88952 (patch) | |
tree | 0c021058286d610e4f6436f46746dde702c882ee | |
parent | edbbf759cef6784b3d19d04250c7c37d496b4474 (diff) | |
download | poezio-a6c5ac486b31911aeadc1bbdaa58f95350a88952.tar.gz poezio-a6c5ac486b31911aeadc1bbdaa58f95350a88952.tar.bz2 poezio-a6c5ac486b31911aeadc1bbdaa58f95350a88952.tar.xz poezio-a6c5ac486b31911aeadc1bbdaa58f95350a88952.zip |
Type DelayedEvent, also in Core.
-rw-r--r-- | poezio/core/core.py | 5 | ||||
-rw-r--r-- | poezio/timed_events.py | 11 |
2 files changed, 9 insertions, 7 deletions
diff --git a/poezio/core/core.py b/poezio/core/core.py index 3f4e6b3b..68397ac2 100644 --- a/poezio/core/core.py +++ b/poezio/core/core.py @@ -41,6 +41,7 @@ from poezio.roster import roster from poezio.size_manager import SizeManager from poezio.user import User from poezio.text_buffer import TextBuffer +from poezio.timed_events import DelayedEvent from poezio.theming import get_theme from poezio import keyboard, xdg @@ -776,11 +777,11 @@ class Core: ########################## TImed Events ####################################### - def remove_timed_event(self, event): + def remove_timed_event(self, event: DelayedEvent) -> None: """Remove an existing timed event""" event.handler.cancel() - def add_timed_event(self, event): + def add_timed_event(self, event: DelayedEvent) -> None: """Add a new timed event""" event.handler = asyncio.get_event_loop().call_later( event.delay, event.callback, *event.args) diff --git a/poezio/timed_events.py b/poezio/timed_events.py index f5b87f3c..cd7659e2 100644 --- a/poezio/timed_events.py +++ b/poezio/timed_events.py @@ -13,7 +13,8 @@ Once created, they must be added to the list of checked events with """ from datetime import datetime -from typing import Callable, Union +from asyncio import Handle +from typing import Callable, Union, Optional, Tuple, Any class DelayedEvent: @@ -31,11 +32,11 @@ class DelayedEvent: :param function callback: The handler that will be executed. :param args: Optional arguments passed to the handler. """ - self.callback = callback - self.args = args - self.delay = delay + self.callback = callback # type: Callable + self.args = args # type: Tuple[Any, ...] + self.delay = delay # type: Union[int, float] # An asyncio handler, as returned by call_later() or call_at() - self.handler = None + self.handler = None # type: Optional[Handle] class TimedEvent(DelayedEvent): |