uiprotect 1.2.2__py3-none-any.whl → 1.3.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of uiprotect might be problematic. Click here for more details.

@@ -80,12 +80,9 @@ CAMERA_EVENT_ATTR_MAP: dict[EventType, tuple[str, str]] = {
80
80
  }
81
81
 
82
82
 
83
- def _process_light_event(event: Event) -> None:
84
- if event.light is None:
85
- return
86
-
87
- if _event_is_in_range(event, event.light.last_motion):
88
- event.light.last_motion_event_id = event.id
83
+ def _process_light_event(event: Event, light: Light) -> None:
84
+ if _event_is_in_range(event, light.last_motion):
85
+ light.last_motion_event_id = event.id
89
86
 
90
87
 
91
88
  def _event_is_in_range(event: Event, dt: datetime | None) -> bool:
@@ -95,22 +92,20 @@ def _event_is_in_range(event: Event, dt: datetime | None) -> bool:
95
92
  )
96
93
 
97
94
 
98
- def _process_sensor_event(event: Event) -> None:
99
- if event.sensor is None:
100
- return
95
+ def _process_sensor_event(event: Event, sensor: Sensor) -> None:
101
96
  if event.type is EventType.MOTION_SENSOR:
102
- if _event_is_in_range(event, event.sensor.motion_detected_at):
103
- event.sensor.last_motion_event_id = event.id
97
+ if _event_is_in_range(event, sensor.motion_detected_at):
98
+ sensor.last_motion_event_id = event.id
104
99
  elif event.type in {EventType.SENSOR_CLOSED, EventType.SENSOR_OPENED}:
105
- if _event_is_in_range(event, event.sensor.open_status_changed_at):
106
- event.sensor.last_contact_event_id = event.id
100
+ if _event_is_in_range(event, sensor.open_status_changed_at):
101
+ sensor.last_contact_event_id = event.id
107
102
  elif event.type is EventType.SENSOR_EXTREME_VALUE:
108
- if _event_is_in_range(event, event.sensor.extreme_value_detected_at):
109
- event.sensor.extreme_value_detected_at = event.end
110
- event.sensor.last_value_event_id = event.id
103
+ if _event_is_in_range(event, sensor.extreme_value_detected_at):
104
+ sensor.extreme_value_detected_at = event.end
105
+ sensor.last_value_event_id = event.id
111
106
  elif event.type is EventType.SENSOR_ALARM:
112
- if _event_is_in_range(event, event.sensor.alarm_triggered_at):
113
- event.sensor.last_value_event_id = event.id
107
+ if _event_is_in_range(event, sensor.alarm_triggered_at):
108
+ sensor.last_value_event_id = event.id
114
109
 
115
110
 
116
111
  _CAMERA_SMART_AND_LINE_EVENTS = {
@@ -120,10 +115,7 @@ _CAMERA_SMART_AND_LINE_EVENTS = {
120
115
  _CAMERA_SMART_AUDIO_EVENT = EventType.SMART_AUDIO_DETECT
121
116
 
122
117
 
123
- def _process_camera_event(event: Event) -> None:
124
- if (camera := event.camera) is None:
125
- return
126
-
118
+ def _process_camera_event(event: Event, camera: Camera) -> None:
127
119
  event_type = event.type
128
120
  dt_attr, event_attr = CAMERA_EVENT_ATTR_MAP[event_type]
129
121
  dt: datetime | None = getattr(camera, dt_attr)
@@ -322,12 +314,13 @@ class Bootstrap(ProtectBaseObject):
322
314
  return cast(ProtectAdoptableDeviceModel, devices.get(ref.id))
323
315
 
324
316
  def process_event(self, event: Event) -> None:
325
- if event.type in CAMERA_EVENT_ATTR_MAP and event.camera is not None:
326
- _process_camera_event(event)
327
- elif event.type == EventType.MOTION_LIGHT and event.light is not None:
328
- _process_light_event(event)
329
- elif event.type == EventType.MOTION_SENSOR and event.sensor is not None:
330
- _process_sensor_event(event)
317
+ event_type = event.type
318
+ if event_type in CAMERA_EVENT_ATTR_MAP and (camera := event.camera):
319
+ _process_camera_event(event, camera)
320
+ elif event_type is EventType.MOTION_LIGHT and (light := event.light):
321
+ _process_light_event(event, light)
322
+ elif event_type is EventType.MOTION_SENSOR and (sensor := event.sensor):
323
+ _process_sensor_event(event, sensor)
331
324
 
332
325
  self.events[event.id] = event
333
326
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: uiprotect
3
- Version: 1.2.2
3
+ Version: 1.3.0
4
4
  Summary: Python API for Unifi Protect (Unofficial)
5
5
  Home-page: https://github.com/uilibs/uiprotect
6
6
  License: MIT
@@ -15,7 +15,7 @@ uiprotect/cli/sensors.py,sha256=fQtcDJCVxs4VbAqcavgBy2ABiVxAW3GXtna6_XFBp2k,8153
15
15
  uiprotect/cli/viewers.py,sha256=2cyrp104ffIvgT0wYGIO0G35QMkEbFe7fSVqLwDXQYQ,2171
16
16
  uiprotect/data/__init__.py,sha256=OcfuJl2qXfHcj_mdnrHhzZ5tEIZrw8auziX5IE7dn-I,2938
17
17
  uiprotect/data/base.py,sha256=kkPrRhvJV7igGyB3wv1fDvWH26Xzlbz94BjJkDiTvU4,38375
18
- uiprotect/data/bootstrap.py,sha256=JsbdZQAdlmLNg7dSv02pAhx1n3_wtFfLqSoj7kd8A-0,21296
18
+ uiprotect/data/bootstrap.py,sha256=D8qyR4fMp9TfVUIYbbn788hTKYxuzifdHax4qRYW1Gw,21185
19
19
  uiprotect/data/convert.py,sha256=rOQplUMIdTMD2SbAx_iI9BNPDscnhDvyRVLEMDhtADg,2047
20
20
  uiprotect/data/devices.py,sha256=Nq3bOko5PFf5LvEBoD4JV8kmbq50laRdh3VHMWX7t-0,111809
21
21
  uiprotect/data/nvr.py,sha256=jwJEl4o2kbvoYFB9wSJPghNj0905847-86ElT51nNs0,47580
@@ -30,8 +30,8 @@ uiprotect/test_util/__init__.py,sha256=d2g7afa0LSdixQ0kjEDYwafDFME_UlW2LzxpamZ2B
30
30
  uiprotect/test_util/anonymize.py,sha256=f-8ijU-_y9r-uAbhIPn0f0I6hzJpAkvJzc8UpWihObI,8478
31
31
  uiprotect/utils.py,sha256=6OLY8hNiCzk418PjJJIlFW7jjPzVt1vxBKEzBSqMeTk,18418
32
32
  uiprotect/websocket.py,sha256=IzDPyqbzrkOMREvahN-e2zdvVD0VABSCWy6jSoCwOT0,7299
33
- uiprotect-1.2.2.dist-info/LICENSE,sha256=INx18jhdbVXMEiiBANeKEbrbz57ckgzxk5uutmmcxGk,1111
34
- uiprotect-1.2.2.dist-info/METADATA,sha256=pU-rmbBF_iFXCpjNQkujk-qjuiJBH1zMDw5ALwnlhQ4,10984
35
- uiprotect-1.2.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
36
- uiprotect-1.2.2.dist-info/entry_points.txt,sha256=J78AUTPrTTxgI3s7SVgrmGqDP7piX2wuuEORzhDdVRA,47
37
- uiprotect-1.2.2.dist-info/RECORD,,
33
+ uiprotect-1.3.0.dist-info/LICENSE,sha256=INx18jhdbVXMEiiBANeKEbrbz57ckgzxk5uutmmcxGk,1111
34
+ uiprotect-1.3.0.dist-info/METADATA,sha256=uFhgPqZREr1J8zj0PfD7twZl98ueL46-biEodcR5jZk,10984
35
+ uiprotect-1.3.0.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
36
+ uiprotect-1.3.0.dist-info/entry_points.txt,sha256=J78AUTPrTTxgI3s7SVgrmGqDP7piX2wuuEORzhDdVRA,47
37
+ uiprotect-1.3.0.dist-info/RECORD,,