@@ -498,35 +498,38 @@ def sync_triggers(self) -> None:
498498
499499 if needs_embedding_update :
500500 existing_trigger .save ()
501+ continue
501502 else :
502503 # Create new trigger
503504 try :
504- try :
505- event : Event = Event .get (Event .id == trigger .data )
506- except DoesNotExist :
507- logger .warning (
508- f"Event ID { trigger .data } for trigger { trigger_name } does not exist."
509- )
510- continue
505+ # For thumbnail triggers, validate the event exists
506+ if trigger .type == "thumbnail" :
507+ try :
508+ event : Event = Event .get (Event .id == trigger .data )
509+ except DoesNotExist :
510+ logger .warning (
511+ f"Event ID { trigger .data } for trigger { trigger_name } does not exist."
512+ )
513+ continue
511514
512- # Skip the event if not an object
513- if event .data .get ("type" ) != "object" :
514- logger .warning (
515- f"Event ID { trigger .data } for trigger { trigger_name } is not a tracked object."
516- )
517- continue
515+ # Skip the event if not an object
516+ if event .data .get ("type" ) != "object" :
517+ logger .warning (
518+ f"Event ID { trigger .data } for trigger { trigger_name } is not a tracked object."
519+ )
520+ continue
518521
519- thumbnail = get_event_thumbnail_bytes (event )
522+ thumbnail = get_event_thumbnail_bytes (event )
520523
521- if not thumbnail :
522- logger .warning (
523- f"Unable to retrieve thumbnail for event ID { trigger .data } for { trigger_name } ."
524- )
525- continue
524+ if not thumbnail :
525+ logger .warning (
526+ f"Unable to retrieve thumbnail for event ID { trigger .data } for { trigger_name } ."
527+ )
528+ continue
526529
527- self .write_trigger_thumbnail (
528- camera .name , trigger .data , thumbnail
529- )
530+ self .write_trigger_thumbnail (
531+ camera .name , trigger .data , thumbnail
532+ )
530533
531534 # Calculate embedding for new trigger
532535 embedding = self ._calculate_trigger_embedding (
@@ -557,7 +560,11 @@ def sync_triggers(self) -> None:
557560 Trigger .camera == camera .name , Trigger .name .in_ (triggers_to_remove )
558561 ).execute ()
559562 for trigger_name in triggers_to_remove :
560- self .remove_trigger_thumbnail (camera .name , trigger_name )
563+ # Only remove thumbnail files for thumbnail triggers
564+ if existing_triggers [trigger_name ].type == "thumbnail" :
565+ self .remove_trigger_thumbnail (
566+ camera .name , existing_triggers [trigger_name ].data
567+ )
561568
562569 def write_trigger_thumbnail (
563570 self , camera : str , event_id : str , thumbnail : bytes
0 commit comments