mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-15 07:35:27 +03:00
clean up
This commit is contained in:
parent
0e312af43b
commit
164f1b8545
@ -947,19 +947,18 @@ def set_description(id):
|
|||||||
|
|
||||||
@EventBp.route("/events/<id>/description/regenerate", methods=["PUT"])
|
@EventBp.route("/events/<id>/description/regenerate", methods=["PUT"])
|
||||||
def regenerate_description(id):
|
def regenerate_description(id):
|
||||||
# try:
|
try:
|
||||||
# event: Event = Event.get(Event.id == id)
|
event: Event = Event.get(Event.id == id)
|
||||||
# except DoesNotExist:
|
except DoesNotExist:
|
||||||
# return make_response(
|
return make_response(
|
||||||
# jsonify({"success": False, "message": "Event " + id + " not found"}), 404
|
jsonify({"success": False, "message": "Event " + id + " not found"}), 404
|
||||||
# )
|
)
|
||||||
|
|
||||||
# if (
|
if (
|
||||||
# current_app.frigate_config.semantic_search.enabled
|
current_app.frigate_config.semantic_search.enabled
|
||||||
# and current_app.frigate_config.genai.enabled
|
and current_app.frigate_config.genai.enabled
|
||||||
# ):
|
):
|
||||||
logger.info(id)
|
current_app.event_metadata_updater.publish(event.id)
|
||||||
current_app.event_metadata_updater.publish(id)
|
|
||||||
|
|
||||||
return make_response(
|
return make_response(
|
||||||
jsonify(
|
jsonify(
|
||||||
|
|||||||
@ -376,7 +376,9 @@ class FrigateApp:
|
|||||||
def init_inter_process_communicator(self) -> None:
|
def init_inter_process_communicator(self) -> None:
|
||||||
self.inter_process_communicator = InterProcessCommunicator()
|
self.inter_process_communicator = InterProcessCommunicator()
|
||||||
self.inter_config_updater = ConfigPublisher()
|
self.inter_config_updater = ConfigPublisher()
|
||||||
self.event_metadata_updater = EventMetadataPublisher(EventMetadataTypeEnum.all)
|
self.event_metadata_updater = EventMetadataPublisher(
|
||||||
|
EventMetadataTypeEnum.regenerate_description
|
||||||
|
)
|
||||||
self.inter_zmq_proxy = ZmqProxy()
|
self.inter_zmq_proxy = ZmqProxy()
|
||||||
|
|
||||||
def init_web_server(self) -> None:
|
def init_web_server(self) -> None:
|
||||||
|
|||||||
@ -37,9 +37,11 @@ class EventMetadataSubscriber(Subscriber):
|
|||||||
def check_for_update(
|
def check_for_update(
|
||||||
self, timeout: float = None
|
self, timeout: float = None
|
||||||
) -> Optional[tuple[EventMetadataTypeEnum, any]]:
|
) -> Optional[tuple[EventMetadataTypeEnum, any]]:
|
||||||
|
print(f"checking for update, timeout {timeout}")
|
||||||
return super().check_for_update(timeout)
|
return super().check_for_update(timeout)
|
||||||
|
|
||||||
def _return_object(self, topic: str, payload: any) -> any:
|
def _return_object(self, topic: str, payload: any) -> any:
|
||||||
|
print(topic, payload)
|
||||||
if payload is None:
|
if payload is None:
|
||||||
return (None, None)
|
return (None, None)
|
||||||
return (EventMetadataTypeEnum[topic[len(self.topic_base) :]], payload)
|
return (EventMetadataTypeEnum[topic[len(self.topic_base) :]], payload)
|
||||||
|
|||||||
@ -70,14 +70,11 @@ class EmbeddingMaintainer(threading.Thread):
|
|||||||
|
|
||||||
def _process_updates(self) -> None:
|
def _process_updates(self) -> None:
|
||||||
"""Process event updates"""
|
"""Process event updates"""
|
||||||
logger.info("processing event updates")
|
update = self.event_subscriber.check_for_update()
|
||||||
update = self.event_subscriber.check_for_update(timeout=1)
|
|
||||||
|
|
||||||
if update is None:
|
if update is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
logger.info("not returning from _process_updates")
|
|
||||||
|
|
||||||
source_type, _, camera, data = update
|
source_type, _, camera, data = update
|
||||||
|
|
||||||
if not camera or source_type != EventTypeEnum.tracked_object:
|
if not camera or source_type != EventTypeEnum.tracked_object:
|
||||||
@ -101,14 +98,12 @@ class EmbeddingMaintainer(threading.Thread):
|
|||||||
|
|
||||||
def _process_finalized(self) -> None:
|
def _process_finalized(self) -> None:
|
||||||
"""Process the end of an event."""
|
"""Process the end of an event."""
|
||||||
|
while True:
|
||||||
|
ended = self.event_end_subscriber.check_for_update()
|
||||||
|
|
||||||
logger.info("processing finalized")
|
if ended == None:
|
||||||
ended = self.event_end_subscriber.check_for_update(timeout=1)
|
break
|
||||||
|
|
||||||
if ended is None:
|
|
||||||
return
|
|
||||||
|
|
||||||
logger.info("not returning from _process_finalized")
|
|
||||||
event_id, camera, updated_db = ended
|
event_id, camera, updated_db = ended
|
||||||
camera_config = self.config.cameras[camera]
|
camera_config = self.config.cameras[camera]
|
||||||
|
|
||||||
@ -116,11 +111,11 @@ class EmbeddingMaintainer(threading.Thread):
|
|||||||
try:
|
try:
|
||||||
event: Event = Event.get(Event.id == event_id)
|
event: Event = Event.get(Event.id == event_id)
|
||||||
except DoesNotExist:
|
except DoesNotExist:
|
||||||
return
|
continue
|
||||||
|
|
||||||
# Skip the event if not an object
|
# Skip the event if not an object
|
||||||
if event.data.get("type") != "object":
|
if event.data.get("type") != "object":
|
||||||
return
|
continue
|
||||||
|
|
||||||
# Extract valid event metadata
|
# Extract valid event metadata
|
||||||
metadata = get_metadata(event)
|
metadata = get_metadata(event)
|
||||||
@ -141,7 +136,10 @@ class EmbeddingMaintainer(threading.Thread):
|
|||||||
daemon=True,
|
daemon=True,
|
||||||
args=(
|
args=(
|
||||||
event,
|
event,
|
||||||
[data["thumbnail"] for data in self.tracked_events[event_id]]
|
[
|
||||||
|
data["thumbnail"]
|
||||||
|
for data in self.tracked_events[event_id]
|
||||||
|
]
|
||||||
if len(self.tracked_events.get(event_id, [])) > 0
|
if len(self.tracked_events.get(event_id, [])) > 0
|
||||||
else [thumbnail],
|
else [thumbnail],
|
||||||
metadata,
|
metadata,
|
||||||
@ -154,18 +152,13 @@ class EmbeddingMaintainer(threading.Thread):
|
|||||||
|
|
||||||
def _process_event_metadata(self):
|
def _process_event_metadata(self):
|
||||||
# Check for regenerate description requests
|
# Check for regenerate description requests
|
||||||
logger.info("processing event metadata")
|
(topic, event_id) = self.event_metadata_subscriber.check_for_update()
|
||||||
(topic, event_id) = self.event_metadata_subscriber.check_for_update(timeout=1)
|
|
||||||
logger.info(f"in init in maintainer, {topic} {event_id}")
|
|
||||||
|
|
||||||
if topic is None:
|
if topic is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
logger.info("not returning from _process_event_metadata")
|
|
||||||
|
|
||||||
if event_id:
|
if event_id:
|
||||||
logger.info(f"in maintainer: {event_id}")
|
self.handle_regenerate_description(event_id)
|
||||||
# self.handle_regenerate_description(event_id)
|
|
||||||
|
|
||||||
def _create_thumbnail(self, yuv_frame, box, height=500) -> Optional[bytes]:
|
def _create_thumbnail(self, yuv_frame, box, height=500) -> Optional[bytes]:
|
||||||
"""Return jpg thumbnail of a region of the frame."""
|
"""Return jpg thumbnail of a region of the frame."""
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user