From b3d6359afc32af7a110b6e3aa8a877161157f04a Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 17 Nov 2025 10:02:32 -0800 Subject: [PATCH] Chore: set signal receivers with weak=False --- src/documents/management/commands/document_importer.py | 8 ++++++-- src/documents/signals/handlers.py | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/documents/management/commands/document_importer.py b/src/documents/management/commands/document_importer.py index 282f5c48e..3e614c6a6 100644 --- a/src/documents/management/commands/document_importer.py +++ b/src/documents/management/commands/document_importer.py @@ -48,12 +48,13 @@ if settings.AUDIT_LOG_ENABLED: @contextmanager -def disable_signal(sig, receiver, sender) -> Generator: +def disable_signal(sig, receiver, sender, *, weak: bool | None = None) -> Generator: try: sig.disconnect(receiver=receiver, sender=sender) yield finally: - sig.connect(receiver=receiver, sender=sender) + kwargs = {"weak": weak} if weak is not None else {} + sig.connect(receiver=receiver, sender=sender, **kwargs) class Command(CryptMixin, BaseCommand): @@ -258,16 +259,19 @@ class Command(CryptMixin, BaseCommand): post_save, receiver=update_filename_and_move_files, sender=Document, + weak=False, ), disable_signal( m2m_changed, receiver=update_filename_and_move_files, sender=Document.tags.through, + weak=False, ), disable_signal( post_save, receiver=update_filename_and_move_files, sender=CustomFieldInstance, + weak=False, ), disable_signal( post_save, diff --git a/src/documents/signals/handlers.py b/src/documents/signals/handlers.py index 738ecb086..bce376f76 100644 --- a/src/documents/signals/handlers.py +++ b/src/documents/signals/handlers.py @@ -393,9 +393,9 @@ class CannotMoveFilesException(Exception): # should be disabled in /src/documents/management/commands/document_importer.py handle -@receiver(models.signals.post_save, sender=CustomFieldInstance) -@receiver(models.signals.m2m_changed, sender=Document.tags.through) -@receiver(models.signals.post_save, sender=Document) +@receiver(models.signals.post_save, sender=CustomFieldInstance, weak=False) +@receiver(models.signals.m2m_changed, sender=Document.tags.through, weak=False) +@receiver(models.signals.post_save, sender=Document, weak=False) def update_filename_and_move_files( sender, instance: Document | CustomFieldInstance,