Make it clear in arg message that this is a library. Dependency
[python_utils.git] / waitable_presence.py
index cd5501da59fc3e3ddd1022f8fd87cfba756aeffc..e1da4310b76a77693aa505452e0f3748c4fcc62d 100644 (file)
@@ -13,16 +13,14 @@ 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__)
 
 
-class WaitablePresenceDetectorWithMemory(
-    state_tracker.WaitableAutomaticStateTracker
-):
+class WaitablePresenceDetectorWithMemory(state_tracker.WaitableAutomaticStateTracker):
     """
     This is a waitable class that keeps a PresenceDetector internally
     and periodically polls it to detect changes in presence in a
@@ -49,9 +47,7 @@ class WaitablePresenceDetectorWithMemory(
         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,
@@ -88,9 +84,7 @@ class WaitablePresenceDetectorWithMemory(
 
     def check_detector(self) -> None:
         if len(self.detector.dark_locations) > 0:
-            logger.debug(
-                'PresenceDetector is incomplete; trying to reinitialize...'
-            )
+            logger.debug('PresenceDetector is incomplete; trying to reinitialize...')
             self.detector = base_presence.PresenceDetection()
 
     def is_someone_home(self) -> Tuple[bool, datetime.datetime]:
@@ -102,6 +96,8 @@ class WaitablePresenceDetectorWithMemory(
         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)