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
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]:
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)