Combine statements that return the same result in august binary_sensor (#119944)

pull/119948/head
J. Nick Koston 2024-06-18 20:40:21 -05:00 committed by GitHub
parent c686eda305
commit f88b24f8a4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 15 additions and 16 deletions

View File

@ -63,30 +63,29 @@ def _retrieve_motion_state(data: AugustData, detail: DoorbellDetail) -> bool:
return _activity_time_based_state(latest) return _activity_time_based_state(latest)
def _retrieve_image_capture_state(data: AugustData, detail: DoorbellDetail) -> bool: _IMAGE_ACTIVITIES = {ActivityType.DOORBELL_IMAGE_CAPTURE}
assert data.activity_stream is not None
latest = data.activity_stream.get_latest_device_activity(
detail.device_id, {ActivityType.DOORBELL_IMAGE_CAPTURE}
)
def _retrieve_image_capture_state(data: AugustData, detail: DoorbellDetail) -> bool:
stream = data.activity_stream
assert stream is not None
latest = stream.get_latest_device_activity(detail.device_id, _IMAGE_ACTIVITIES)
if latest is None: if latest is None:
return False return False
return _activity_time_based_state(latest) return _activity_time_based_state(latest)
_RING_ACTIVITIES = {ActivityType.DOORBELL_DING}
def _retrieve_ding_state(data: AugustData, detail: DoorbellDetail | LockDetail) -> bool: def _retrieve_ding_state(data: AugustData, detail: DoorbellDetail | LockDetail) -> bool:
assert data.activity_stream is not None stream = data.activity_stream
latest = data.activity_stream.get_latest_device_activity( assert stream is not None
detail.device_id, {ActivityType.DOORBELL_DING} latest = stream.get_latest_device_activity(detail.device_id, _RING_ACTIVITIES)
) if latest is None or (
data.push_updates_connected and latest.action == ACTION_DOORBELL_CALL_MISSED
if latest is None: ):
return False return False
if data.push_updates_connected and latest.action == ACTION_DOORBELL_CALL_MISSED:
return False
return _activity_time_based_state(latest) return _activity_time_based_state(latest)