Fix json parsing and change defaults

This commit is contained in:
Nick Mowen 2023-05-01 12:07:05 -06:00
parent 0a1b0ed92a
commit c4aea4d1ca
2 changed files with 17 additions and 10 deletions

View File

@ -208,6 +208,8 @@ class EventProcessor(threading.Thread):
Event.thumbnail: event_data["thumbnail"], Event.thumbnail: event_data["thumbnail"],
Event.has_clip: event_data["has_clip"], Event.has_clip: event_data["has_clip"],
Event.has_snapshot: event_data["has_snapshot"], Event.has_snapshot: event_data["has_snapshot"],
Event.zones: [],
Event.data: {},
} }
elif type == "end": elif type == "end":
event = { event = {

View File

@ -45,7 +45,6 @@ from frigate.util import (
restart_frigate, restart_frigate,
vainfo_hwaccel, vainfo_hwaccel,
get_tz_modifiers, get_tz_modifiers,
to_relative_box,
) )
from frigate.storage import StorageMaintainer from frigate.storage import StorageMaintainer
from frigate.version import VERSION from frigate.version import VERSION
@ -847,7 +846,7 @@ def events():
return jsonify([model_to_dict(e, exclude=excluded_fields) for e in events]) return jsonify([model_to_dict(e, exclude=excluded_fields) for e in events])
@bp.route("/events/manual/<camera_name>/<label>/create", methods=("POST",)) @bp.route("/events/<camera_name>/<label>/create", methods=["POST"])
def create_event(camera_name, label): def create_event(camera_name, label):
if not camera_name or not current_app.frigate_config.cameras.get(camera_name): if not camera_name or not current_app.frigate_config.cameras.get(camera_name):
return jsonify( return jsonify(
@ -857,13 +856,19 @@ def create_event(camera_name, label):
if not label: if not label:
return jsonify({"success": False, "message": f"{label} must be set."}, 404) return jsonify({"success": False, "message": f"{label} must be set."}, 404)
event_id = current_app.external_processor.create_manual_event( json: dict[str, any] = request.get_json(silent=True) or {}
camera_name,
label, try:
request.json.get("sub_label"), event_id = current_app.external_processor.create_manual_event(
request.json.get("duration"), camera_name,
request.json.get("include_recording") or True, label,
) json.get("sub_label", None),
json.get("duration", 30),
json.get("include_recording", True),
)
except Exception as e:
logger.error(f"The error is {e}")
return jsonify({"success": False, "message": f"An unknown error occurred: {e}"}, 404)
return jsonify( return jsonify(
{ {
@ -875,7 +880,7 @@ def create_event(camera_name, label):
) )
@bp.route("/events/manual/<event_id>/end", methods=("POST",)) @bp.route("/events/<event_id>/end", methods=["POST"])
def end_event(event_id): def end_event(event_id):
try: try:
current_app.external_processor.finish_manual_event(event_id) current_app.external_processor.finish_manual_event(event_id)