"""Connect Django signals to Chronicle events.""" import logging logger = logging.getLogger(__name__) def connect_signals(emitter): """Connect Django model signals to Chronicle. No-op if emitter is None.""" if not emitter: return from django.db.models.signals import post_save def on_post_save(sender, instance, created, **kwargs): try: emitter.signal( signal_name="post_save_create" if created else "post_save_update", model=sender.__name__, instance_id=str(getattr(instance, "pk", "")), ) except Exception as e: logger.debug("Signal Chronicle non-fatal: %s", e) post_save.connect(on_post_save)