]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Chore: set signal receivers with weak=False
authorshamoon <4887959+shamoon@users.noreply.github.com>
Mon, 17 Nov 2025 18:02:32 +0000 (10:02 -0800)
committershamoon <4887959+shamoon@users.noreply.github.com>
Mon, 17 Nov 2025 18:02:32 +0000 (10:02 -0800)
src/documents/management/commands/document_importer.py
src/documents/signals/handlers.py

index 282f5c48ed171caa3a772af93f82bcdb39ebea30..3e614c6a6c31283dbb55a25d8aaf35b5d0b5480f 100644 (file)
@@ -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,
index 738ecb0864acdda4b18a2fc2629b483d008e1c9e..bce376f7697106c20c1572aa9ac02eb4a0889a9d 100644 (file)
@@ -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,