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
|
||||
|
||||
def update_segment(self, segment: PendingReviewSegment) -> None:
|
||||
"""Update segment."""
|
||||
seg_data = segment.get_data(ended=False)
|
||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, seg_data)
|
||||
def new_segment(
|
||||
self,
|
||||
segment: PendingReviewSegment,
|
||||
) -> None:
|
||||
"""New segment."""
|
||||
new_data = segment.get_data(ended=False)
|
||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
||||
self.requestor.send_data(
|
||||
"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:
|
||||
@ -219,9 +245,10 @@ class ReviewSegmentMaintainer(threading.Thread):
|
||||
yuv_frame = self.frame_manager.get(
|
||||
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.update_segment(segment)
|
||||
except FileNotFoundError:
|
||||
return
|
||||
else:
|
||||
@ -317,7 +344,7 @@ class ReviewSegmentMaintainer(threading.Thread):
|
||||
camera_config, yuv_frame, active_objects
|
||||
)
|
||||
self.frame_manager.close(frame_id)
|
||||
self.update_segment(self.active_review_segments[camera])
|
||||
self.new_segment(self.active_review_segments[camera])
|
||||
except FileNotFoundError:
|
||||
return
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user