mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-11 13:45:25 +03:00
Handle specific cases
This commit is contained in:
parent
4bcf7bd666
commit
2d9da0bfc7
@ -153,13 +153,16 @@ class ReviewSegmentMaintainer(threading.Thread):
|
|||||||
"""New segment."""
|
"""New segment."""
|
||||||
new_data = segment.get_data(ended=False)
|
new_data = segment.get_data(ended=False)
|
||||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
||||||
|
start_data = {k.name: v for k, v in new_data.items()}
|
||||||
self.requestor.send_data(
|
self.requestor.send_data(
|
||||||
"reviews",
|
"reviews",
|
||||||
|
json.dumps(
|
||||||
{
|
{
|
||||||
"type": "new",
|
"type": "new",
|
||||||
"before": {},
|
"before": start_data,
|
||||||
"after": json.dumps({k.name: v for k, v in new_data.items()}),
|
"after": start_data,
|
||||||
},
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
def update_segment(
|
def update_segment(
|
||||||
@ -176,24 +179,30 @@ class ReviewSegmentMaintainer(threading.Thread):
|
|||||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, new_data)
|
||||||
self.requestor.send_data(
|
self.requestor.send_data(
|
||||||
"reviews",
|
"reviews",
|
||||||
|
json.dumps(
|
||||||
{
|
{
|
||||||
"type": "update",
|
"type": "update",
|
||||||
"before": json.dumps({k.name: v for k, v in prev_data.items()}),
|
"before": {k.name: v for k, v in prev_data.items()},
|
||||||
"after": json.dumps({k.name: v for k, v in new_data.items()}),
|
"after": {k.name: v for k, v in new_data.items()},
|
||||||
},
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
def end_segment(self, segment: PendingReviewSegment) -> None:
|
def end_segment(self, segment: PendingReviewSegment) -> None:
|
||||||
"""End segment."""
|
"""End segment."""
|
||||||
|
logger.error(f"ending review segment {segment.camera}")
|
||||||
final_data = segment.get_data(ended=True)
|
final_data = segment.get_data(ended=True)
|
||||||
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, final_data)
|
self.requestor.send_data(UPSERT_REVIEW_SEGMENT, final_data)
|
||||||
|
end_data = {k.name: v for k, v in final_data.items()}
|
||||||
self.requestor.send_data(
|
self.requestor.send_data(
|
||||||
"reviews",
|
"reviews",
|
||||||
|
json.dumps(
|
||||||
{
|
{
|
||||||
"type": "update",
|
"type": "update",
|
||||||
"before": json.dumps({k.name: v for k, v in final_data.items()}),
|
"before": end_data,
|
||||||
"after": {},
|
"after": end_data,
|
||||||
},
|
}
|
||||||
|
),
|
||||||
)
|
)
|
||||||
self.active_review_segments[segment.camera] = None
|
self.active_review_segments[segment.camera] = None
|
||||||
|
|
||||||
|
|||||||
@ -31,7 +31,8 @@ type FrigateObjectState = {
|
|||||||
|
|
||||||
export interface FrigateReview {
|
export interface FrigateReview {
|
||||||
type: "new" | "update" | "end";
|
type: "new" | "update" | "end";
|
||||||
review: ReviewSegment;
|
before: ReviewSegment;
|
||||||
|
after: ReviewSegment;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FrigateEvent {
|
export interface FrigateEvent {
|
||||||
|
|||||||
@ -47,8 +47,19 @@ export default function LiveDashboardView({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if event is ended and was saved, update events list
|
// if event is ended and was saved, update events list
|
||||||
if (eventUpdate.review.severity == "alert") {
|
if (eventUpdate.after.severity == "alert") {
|
||||||
setTimeout(() => updateEvents(), eventUpdate.type == "end" ? 1000 : 6000);
|
if (eventUpdate.type == "end" || eventUpdate.type == "new") {
|
||||||
|
setTimeout(
|
||||||
|
() => updateEvents(),
|
||||||
|
eventUpdate.type == "end" ? 1000 : 6000,
|
||||||
|
);
|
||||||
|
} else if (
|
||||||
|
eventUpdate.before.data.objects.length <
|
||||||
|
eventUpdate.after.data.objects.length
|
||||||
|
) {
|
||||||
|
setTimeout(() => updateEvents(), 5000);
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}, [eventUpdate, updateEvents]);
|
}, [eventUpdate, updateEvents]);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user