From a6c5ac486b31911aeadc1bbdaa58f95350a88952 Mon Sep 17 00:00:00 2001 From: Emmanuel Gil Peyrot Date: Wed, 15 Aug 2018 15:51:31 +0200 Subject: Type DelayedEvent, also in Core. --- poezio/core/core.py | 5 +++-- poezio/timed_events.py | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) (limited to 'poezio') 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): -- cgit v1.2.3