mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-11 05:35:25 +03:00
Send before / after on messages
This commit is contained in:
parent
9070ba23f0
commit
c6b46d20a3
@ -146,15 +146,41 @@ class ReviewSegmentMaintainer(threading.Thread):
|
|||||||
|
|
||||||
self.stop_event = stop_event
|
self.stop_event = stop_event
|
||||||
|
|
||||||
def update_segment(self, segment: PendingReviewSegment) -> None:
|
def new_segment(
|
||||||
"""Update segment."""
|
self,
|
||||||
seg_data = segment.get_data(ended=False)
|
segment: PendingReviewSegment,
|
||||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, seg_data)
|
) -> None:
|
||||||
|
"""New segment."""
|
||||||
|
new_data = segment.get_data(ended=False)
|
||||||
|
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
||||||
self.requestor.send_data(
|
self.requestor.send_data(
|
||||||
"reviews",
|
"reviews",
|
||||||
json.dumps(
|
{
|
||||||
{"type": "update", "review": {k.name: v for k, v in seg_data.items()}}
|
"type": "new",
|
||||||
),
|
"before": {},
|
||||||
|
"after": json.dumps({k.name: v for k, v in new_data.items()}),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
def update_segment(
|
||||||
|
self,
|
||||||
|
segment: PendingReviewSegment,
|
||||||
|
camera_config: CameraConfig,
|
||||||
|
frame,
|
||||||
|
objects: list[TrackedObject],
|
||||||
|
) -> None:
|
||||||
|
"""Update segment."""
|
||||||
|
prev_data = segment.get_data(ended=False)
|
||||||
|
segment.update_frame(camera_config, frame, objects)
|
||||||
|
new_data = segment.get_data(ended=False)
|
||||||
|
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
||||||
|
self.requestor.send_data(
|
||||||
|
"reviews",
|
||||||
|
{
|
||||||
|
"type": "update",
|
||||||
|
"before": json.dumps({k.name: v for k, v in prev_data.items()}),
|
||||||
|
"after": json.dumps({k.name: v for k, v in new_data.items()}),
|
||||||
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
def end_segment(self, segment: PendingReviewSegment) -> None:
|
def end_segment(self, segment: PendingReviewSegment) -> None:
|
||||||
@ -219,9 +245,10 @@ class ReviewSegmentMaintainer(threading.Thread):
|
|||||||
yuv_frame = self.frame_manager.get(
|
yuv_frame = self.frame_manager.get(
|
||||||
frame_id, camera_config.frame_shape_yuv
|
frame_id, camera_config.frame_shape_yuv
|
||||||
)
|
)
|
||||||
segment.update_frame(camera_config, yuv_frame, active_objects)
|
self.update_segment(
|
||||||
|
segment, camera_config, yuv_frame, active_objects
|
||||||
|
)
|
||||||
self.frame_manager.close(frame_id)
|
self.frame_manager.close(frame_id)
|
||||||
self.update_segment(segment)
|
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
@ -317,7 +344,7 @@ class ReviewSegmentMaintainer(threading.Thread):
|
|||||||
camera_config, yuv_frame, active_objects
|
camera_config, yuv_frame, active_objects
|
||||||
)
|
)
|
||||||
self.frame_manager.close(frame_id)
|
self.frame_manager.close(frame_id)
|
||||||
self.update_segment(self.active_review_segments[camera])
|
self.new_segment(self.active_review_segments[camera])
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user