Merge branch 'master' of ssh://git.house/usr/local/git/base/python_utils
[python_utils.git] / waitable_presence.py
index 9e0a9d0180663ad2337d7a6dc9ff42ccc677afb5..1d6c3ebdb7bf470ecbeb0d65bb351721a3ba3ec7 100644 (file)
@@ -13,9 +13,9 @@ from typing import Optional, Tuple
 from overrides import overrides
 
 import base_presence
-from type.locations import Location
 import site_config
 import state_tracker
+from type.locations import Location
 
 logger = logging.getLogger(__name__)
 
@@ -38,16 +38,18 @@ class WaitablePresenceDetectorWithMemory(state_tracker.WaitableAutomaticStateTra
     """
 
     def __init__(
-            self,
-            override_update_interval_sec: float = 60.0,
-            override_location: Location = site_config.get_location(),
+        self,
+        override_update_interval_sec: float = 60.0,
+        override_location: Location = site_config.get_location(),
     ) -> None:
         self.last_someone_is_home: Optional[bool] = None
         self.someone_is_home: Optional[bool] = None
         self.everyone_gone_since: Optional[datetime.datetime] = None
         self.someone_home_since: Optional[datetime.datetime] = None
         self.location = override_location
-        self.detector: base_presence.PresenceDetection = base_presence.PresenceDetection()
+        self.detector: base_presence.PresenceDetection = (
+            base_presence.PresenceDetection()
+        )
         super().__init__(
             {
                 'poll_presence': override_update_interval_sec,
@@ -96,6 +98,8 @@ class WaitablePresenceDetectorWithMemory(state_tracker.WaitableAutomaticStateTra
         if self.someone_is_home is None:
             raise Exception("Too Soon!")
         if self.someone_is_home:
+            assert self.someone_home_since is not None
             return (True, self.someone_home_since)
         else:
+            assert self.everyone_gone_since is not None
             return (False, self.everyone_gone_since)