X-Git-Url: https://wannabe.guru.org/gitweb/?a=blobdiff_plain;f=waitable_presence.py;h=e1da4310b76a77693aa505452e0f3748c4fcc62d;hb=20dc43226d16e404514c3cdfba00e04469dbc17d;hp=cd5501da59fc3e3ddd1022f8fd87cfba756aeffc;hpb=36fea7f15ed17150691b5b3ead75450e575229ef;p=python_utils.git diff --git a/waitable_presence.py b/waitable_presence.py index cd5501d..e1da431 100644 --- a/waitable_presence.py +++ b/waitable_presence.py @@ -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)