Skip to content

Commit 6c189e2

Browse files
authored
fix: cleanup duplicate code in pubnub (#113)
1 parent 45a986f commit 6c189e2

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

yalexs/pubnub_activity.py

+17-19
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,19 @@
3333
determine_lock_status,
3434
)
3535

36+
LOCK_STATUS_TO_ACTION = {
37+
LockStatus.LOCKED: ACTION_LOCK_LOCK,
38+
LockStatus.UNLATCHED: ACTION_LOCK_UNLATCH,
39+
LockStatus.UNLOCKED: ACTION_LOCK_UNLOCK,
40+
LockStatus.LOCKING: ACTION_LOCK_LOCKING,
41+
LockStatus.UNLATCHING: ACTION_LOCK_UNLATCHING,
42+
LockStatus.UNLOCKING: ACTION_LOCK_UNLOCKING,
43+
LockStatus.JAMMED: ACTION_LOCK_JAMMED,
44+
}
45+
46+
_BRIDGE_ACTIONS = {ACTION_BRIDGE_ONLINE, ACTION_BRIDGE_OFFLINE}
47+
48+
3649
_LOGGER = logging.getLogger(__name__)
3750

3851

@@ -83,25 +96,10 @@ def activities_from_pubnub_message(
8396
if error.get("restCode") == 98 or error.get("name") == "ERRNO_BRIDGE_OFFLINE":
8497
_add_activity(activities, activity_dict, ACTION_BRIDGE_OFFLINE)
8598
elif status := message.get(LOCK_STATUS_KEY):
86-
if status == ACTION_BRIDGE_ONLINE:
87-
_add_activity(activities, activity_dict, ACTION_BRIDGE_ONLINE)
88-
elif status == ACTION_BRIDGE_OFFLINE:
89-
_add_activity(activities, activity_dict, ACTION_BRIDGE_OFFLINE)
90-
lock_status = determine_lock_status(status)
91-
if lock_status == LockStatus.LOCKED:
92-
_add_activity(activities, activity_dict, ACTION_LOCK_LOCK)
93-
elif lock_status == LockStatus.UNLATCHED:
94-
_add_activity(activities, activity_dict, ACTION_LOCK_UNLATCH)
95-
elif lock_status == LockStatus.UNLOCKED:
96-
_add_activity(activities, activity_dict, ACTION_LOCK_UNLOCK)
97-
elif lock_status == LockStatus.LOCKING:
98-
_add_activity(activities, activity_dict, ACTION_LOCK_LOCKING)
99-
elif lock_status == LockStatus.UNLATCHING:
100-
_add_activity(activities, activity_dict, ACTION_LOCK_UNLATCHING)
101-
elif lock_status == LockStatus.UNLOCKING:
102-
_add_activity(activities, activity_dict, ACTION_LOCK_UNLOCKING)
103-
elif lock_status == LockStatus.JAMMED:
104-
_add_activity(activities, activity_dict, ACTION_LOCK_JAMMED)
99+
if status in _BRIDGE_ACTIONS:
100+
_add_activity(activities, activity_dict, status)
101+
if action := LOCK_STATUS_TO_ACTION.get(determine_lock_status(status)):
102+
_add_activity(activities, activity_dict, action)
105103
if door_state_raw := message.get(DOOR_STATE_KEY):
106104
door_state = determine_door_state(door_state_raw)
107105
if door_state == LockDoorStatus.OPEN:

0 commit comments

Comments
 (0)