From a6c5ac486b31911aeadc1bbdaa58f95350a88952 Mon Sep 17 00:00:00 2001
From: Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
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(-)

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