diff options
-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): |