]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Merge signals
authorshamoon <4887959+shamoon@users.noreply.github.com>
Tue, 8 Apr 2025 23:58:52 +0000 (16:58 -0700)
committershamoon <4887959+shamoon@users.noreply.github.com>
Tue, 8 Apr 2025 23:58:52 +0000 (16:58 -0700)
23 files changed:
pyproject.toml
src/documents/apps.py
src/documents/tests/test_api_documents.py
src/documents/tests/test_matchables.py
src/documents/tests/test_task_signals.py
src/documents/tests/test_workflows.py
src/paperless/adapter.py
src/paperless/apps.py
src/paperless/checks.py
src/paperless/consumer.py
src/paperless/management/commands/document_importer.py
src/paperless/management/commands/document_retagger.py
src/paperless/parsers.py
src/paperless/signals/__init__.py [moved from src/documents/signals/__init__.py with 100% similarity]
src/paperless/signals/handlers.py [moved from src/documents/signals/handlers.py with 100% similarity]
src/paperless/signals/signals.py [moved from src/paperless/signals.py with 100% similarity]
src/paperless/tasks.py
src/paperless/tests/test_signals.py
src/paperless/views.py
src/paperless_mail/apps.py
src/paperless_tesseract/apps.py
src/paperless_text/apps.py
src/paperless_tika/apps.py

index 00b059557953102f1d217aa7b4630d55c6bc35e1..01445a5a74acb85cfba0747fa8069ba62ee08c97 100644 (file)
@@ -203,9 +203,6 @@ lint.per-file-ignores."docker/wait-for-redis.py" = [
 lint.per-file-ignores."src/documents/migrations/1012_fix_archive_files.py" = [
   "PTH",
 ] # TODO Enable & remove
-lint.per-file-ignores."src/documents/signals/handlers.py" = [
-  "PTH",
-] # TODO Enable & remove
 lint.per-file-ignores."src/documents/tests/test_consumer.py" = [
   "PTH",
 ] # TODO Enable & remove
@@ -257,6 +254,9 @@ lint.per-file-ignores."src/paperless/parsers.py" = [
 lint.per-file-ignores."src/paperless/settings.py" = [
   "PTH",
 ] # TODO Enable & remove
+lint.per-file-ignores."src/paperless/signals/handlers.py" = [
+  "PTH",
+] # TODO Enable & remove
 lint.per-file-ignores."src/paperless/views.py" = [
   "PTH",
 ] # TODO Enable & remove
index 01e33a7ef56749747d11a23a540e6d98c31c8bb5..9d8fb59424176fe783227c8a7fae3767522630cd 100644 (file)
@@ -8,16 +8,16 @@ class DocumentsConfig(AppConfig):
     verbose_name = _("Documents")
 
     def ready(self):
-        from documents.signals import document_consumption_finished
-        from documents.signals import document_updated
-        from documents.signals.handlers import add_inbox_tags
-        from documents.signals.handlers import add_to_index
-        from documents.signals.handlers import run_workflows_added
-        from documents.signals.handlers import run_workflows_updated
-        from documents.signals.handlers import set_correspondent
-        from documents.signals.handlers import set_document_type
-        from documents.signals.handlers import set_storage_path
-        from documents.signals.handlers import set_tags
+        from paperless.signals import document_consumption_finished
+        from paperless.signals import document_updated
+        from paperless.signals.handlers import add_inbox_tags
+        from paperless.signals.handlers import add_to_index
+        from paperless.signals.handlers import run_workflows_added
+        from paperless.signals.handlers import run_workflows_updated
+        from paperless.signals.handlers import set_correspondent
+        from paperless.signals.handlers import set_document_type
+        from paperless.signals.handlers import set_storage_path
+        from paperless.signals.handlers import set_tags
 
         document_consumption_finished.connect(add_inbox_tags)
         document_consumption_finished.connect(set_correspondent)
index 2033e61f8e53e9525fc87f9699a651f62a76b0ef..95ca9b2bbb01b6da50d57715f207a8f5bbe9b240 100644 (file)
@@ -24,7 +24,6 @@ from guardian.shortcuts import assign_perm
 from rest_framework import status
 from rest_framework.test import APITestCase
 
-from documents.signals.handlers import run_workflows
 from documents.tests.utils import DirectoriesMixin
 from documents.tests.utils import DocumentConsumeDelayMixin
 from paperless.caching import CACHE_50_MINUTES
@@ -46,6 +45,7 @@ from paperless.models import Tag
 from paperless.models import Workflow
 from paperless.models import WorkflowAction
 from paperless.models import WorkflowTrigger
+from paperless.signals.handlers import run_workflows
 
 
 class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase):
index a6c4e27f78cc0c5e945a3f050bcb8fc6bf5ddf55..7fbdbfccb757c31df0dfdca27656f4e343833fde 100644 (file)
@@ -8,12 +8,12 @@ from django.contrib.auth.models import User
 from django.test import TestCase
 from django.test import override_settings
 
-from documents.signals import document_consumption_finished
 from paperless import matching
 from paperless.models import Correspondent
 from paperless.models import Document
 from paperless.models import DocumentType
 from paperless.models import Tag
+from paperless.signals import document_consumption_finished
 
 
 class _TestMatchingBase(TestCase):
index c2594f596841d4f02a72dd0da45505f240f20b65..ed25593706dd54ad546c7411ba7bb281603b78ee 100644 (file)
@@ -4,16 +4,16 @@ from unittest import mock
 import celery
 from django.test import TestCase
 
-from documents.signals.handlers import before_task_publish_handler
-from documents.signals.handlers import task_failure_handler
-from documents.signals.handlers import task_postrun_handler
-from documents.signals.handlers import task_prerun_handler
 from documents.tests.test_consumer import fake_magic_from_file
 from documents.tests.utils import DirectoriesMixin
 from paperless.data_models import ConsumableDocument
 from paperless.data_models import DocumentMetadataOverrides
 from paperless.data_models import DocumentSource
 from paperless.models import PaperlessTask
+from paperless.signals.handlers import before_task_publish_handler
+from paperless.signals.handlers import task_failure_handler
+from paperless.signals.handlers import task_postrun_handler
+from paperless.signals.handlers import task_prerun_handler
 
 
 @mock.patch("documents.consumer.magic.from_file", fake_magic_from_file)
index e57542a3cb52d083200c9e6fb23dc352026a5df6..bebd1e1898b39a8f93c0aaf9ee7af088a2f46a2e 100644 (file)
@@ -14,14 +14,13 @@ from httpx import HTTPStatusError
 from pytest_httpx import HTTPXMock
 from rest_framework.test import APITestCase
 
-from documents.signals.handlers import run_workflows
-from documents.signals.handlers import send_webhook
+from paperless.signals.handlers import run_workflows
+from paperless.signals.handlers import send_webhook
 
 if TYPE_CHECKING:
     from django.db.models import QuerySet
 
 
-from documents.signals import document_consumption_finished
 from documents.tests.utils import DirectoriesMixin
 from documents.tests.utils import DummyProgressManager
 from documents.tests.utils import FileSystemAssertsMixin
@@ -44,6 +43,7 @@ from paperless.models import WorkflowActionEmail
 from paperless.models import WorkflowActionWebhook
 from paperless.models import WorkflowRun
 from paperless.models import WorkflowTrigger
+from paperless.signals import document_consumption_finished
 from paperless_mail.models import MailAccount
 from paperless_mail.models import MailRule
 
index 17cf7ec827ff8a006340f757cdffaa6c5aef7365..f8b7b8ec1622c780d183e5c1410bafc0e9cf4f35 100644 (file)
@@ -11,7 +11,7 @@ from django.forms import ValidationError
 from django.urls import reverse
 
 from paperless.models import Document
-from paperless.signals import handle_social_account_updated
+from paperless.signals.signals import handle_social_account_updated
 
 logger = logging.getLogger("paperless.auth")
 
index 819d8d5ff02d4986647ba6269af5c4ab286eb280..9b7cf65b60bb5ebb1570423f0d08f6a5948dc923 100644 (file)
@@ -1,8 +1,8 @@
 from django.apps import AppConfig
 from django.utils.translation import gettext_lazy as _
 
-from paperless.signals import handle_failed_login
-from paperless.signals import handle_social_account_updated
+from paperless.signals.signals import handle_failed_login
+from paperless.signals.signals import handle_social_account_updated
 
 
 class PaperlessConfig(AppConfig):
index d0da5c4757b9f4309874aa3ac2bb11ba58063258..4a8227d019fdbf22e69f1f226ca8f132e688012b 100644 (file)
@@ -14,7 +14,7 @@ from django.db import connections
 from django.db.utils import OperationalError
 from django.db.utils import ProgrammingError
 
-from documents.signals import document_consumer_declaration
+from paperless.signals import document_consumer_declaration
 from paperless.templating.utils import convert_format_str_to_template_format
 
 exists_message = "{} is set but doesn't exist."
index 8bb639262446c476e488c7be5ff2022f528a0f55..99b321058a5af2e3787d3609e52d393d4adf78f3 100644 (file)
@@ -15,9 +15,6 @@ from django.utils import timezone
 from filelock import FileLock
 from rest_framework.reverse import reverse
 
-from documents.signals import document_consumption_finished
-from documents.signals import document_consumption_started
-from documents.signals.handlers import run_workflows
 from paperless.classifier import load_classifier
 from paperless.data_models import ConsumableDocument
 from paperless.data_models import DocumentMetadataOverrides
@@ -43,6 +40,9 @@ from paperless.plugins.base import NoCleanupPluginMixin
 from paperless.plugins.base import NoSetupPluginMixin
 from paperless.plugins.helpers import ProgressManager
 from paperless.plugins.helpers import ProgressStatusOptions
+from paperless.signals import document_consumption_finished
+from paperless.signals import document_consumption_started
+from paperless.signals.handlers import run_workflows
 from paperless.templating.workflows import parse_w_workflow_placeholders
 from paperless.utils import copy_basic_file_stats
 from paperless.utils import copy_file_with_basic_stats
index 1bb320d0c209e3c5c4ab59404734ea19d2d4b25c..ddf728fe20d2521a810d310516e592d00db20d70 100644 (file)
@@ -21,8 +21,6 @@ from django.db.models.signals import m2m_changed
 from django.db.models.signals import post_save
 from filelock import FileLock
 
-from documents.signals.handlers import check_paths_and_prune_custom_fields
-from documents.signals.handlers import update_filename_and_move_files
 from paperless import version
 from paperless.file_handling import create_source_path_directory
 from paperless.management.commands.mixins import CryptMixin
@@ -38,6 +36,8 @@ from paperless.settings import EXPORTER_ARCHIVE_NAME
 from paperless.settings import EXPORTER_CRYPTO_SETTINGS_NAME
 from paperless.settings import EXPORTER_FILE_NAME
 from paperless.settings import EXPORTER_THUMBNAIL_NAME
+from paperless.signals.handlers import check_paths_and_prune_custom_fields
+from paperless.signals.handlers import update_filename_and_move_files
 from paperless.utils import copy_file_with_basic_stats
 
 if settings.AUDIT_LOG_ENABLED:
index b89e4cd64edc697ba34793734dca1feb42a9fd34..df9a7375dc46b6dca21e8e3f05cb8b4edca085e8 100644 (file)
@@ -3,13 +3,13 @@ import logging
 import tqdm
 from django.core.management.base import BaseCommand
 
-from documents.signals.handlers import set_correspondent
-from documents.signals.handlers import set_document_type
-from documents.signals.handlers import set_storage_path
-from documents.signals.handlers import set_tags
 from paperless.classifier import load_classifier
 from paperless.management.commands.mixins import ProgressBarMixin
 from paperless.models import Document
+from paperless.signals.handlers import set_correspondent
+from paperless.signals.handlers import set_document_type
+from paperless.signals.handlers import set_storage_path
+from paperless.signals.handlers import set_tags
 
 logger = logging.getLogger("paperless.management.retagger")
 
index a3ff44bab6910efc8f6f8853ca449c4386f7b212..bb35f52ffdf24be168918c63da93e0af32d3598b 100644 (file)
@@ -15,8 +15,8 @@ from typing import TYPE_CHECKING
 from django.conf import settings
 from django.utils import timezone
 
-from documents.signals import document_consumer_declaration
 from paperless.loggers import LoggingMixin
+from paperless.signals import document_consumer_declaration
 from paperless.utils import copy_file_with_basic_stats
 from paperless.utils import run_subprocess
 
index 3e1d00f0e71ea07c944065507beba301820d40e4..6ec0b59ed525955183fe282d6bbda178c62f7065 100644 (file)
@@ -19,9 +19,6 @@ from django.utils import timezone
 from filelock import FileLock
 from whoosh.writing import AsyncWriter
 
-from documents.signals import document_updated
-from documents.signals.handlers import cleanup_document_deletion
-from documents.signals.handlers import run_workflows
 from paperless import index
 from paperless import sanity_checker
 from paperless.barcodes import BarcodePlugin
@@ -52,6 +49,9 @@ from paperless.plugins.base import ProgressManager
 from paperless.plugins.base import StopConsumeTaskError
 from paperless.plugins.helpers import ProgressStatusOptions
 from paperless.sanity_checker import SanityCheckFailedException
+from paperless.signals import document_updated
+from paperless.signals.handlers import cleanup_document_deletion
+from paperless.signals.handlers import run_workflows
 
 if settings.AUDIT_LOG_ENABLED:
     from auditlog.models import LogEntry
index 0948ca575a46bb30f5a9c5ff55c03aa21f93b229..f7005053cdb12fc5ee551f6668e4cb46b2e285c1 100644 (file)
@@ -6,8 +6,8 @@ from django.http import HttpRequest
 from django.test import TestCase
 from django.test import override_settings
 
-from paperless.signals import handle_failed_login
-from paperless.signals import handle_social_account_updated
+from paperless.signals.signals import handle_failed_login
+from paperless.signals.signals import handle_social_account_updated
 
 
 class TestFailedLoginLogging(TestCase):
index e4e787ab32c17f5f6c448f3804cbfed0ddba1df9..4527e7465b45f66a5dbfde5c99b7c78b43478fad 100644 (file)
@@ -89,7 +89,6 @@ from rest_framework.viewsets import ModelViewSet
 from rest_framework.viewsets import ReadOnlyModelViewSet
 from rest_framework.viewsets import ViewSet
 
-from documents.signals import document_updated
 from paperless import bulk_edit
 from paperless import index
 from paperless import version
@@ -188,6 +187,7 @@ from paperless.serialisers import UserSerializer
 from paperless.serialisers import WorkflowActionSerializer
 from paperless.serialisers import WorkflowSerializer
 from paperless.serialisers import WorkflowTriggerSerializer
+from paperless.signals import document_updated
 from paperless.tasks import consume_file
 from paperless.tasks import empty_trash
 from paperless.tasks import index_optimize
index a07a059b40ba2f3f5e8ff80cee860eb0df5fd826..7e30cac80419719ac2fe2faed3be923914fb81e6 100644 (file)
@@ -11,7 +11,7 @@ class PaperlessMailConfig(AppConfig):
     verbose_name = _("Paperless mail")
 
     def ready(self):
-        from documents.signals import document_consumer_declaration
+        from paperless.signals import document_consumer_declaration
 
         if settings.TIKA_ENABLED:
             document_consumer_declaration.connect(mail_consumer_declaration)
index f634349fb3bcdd03e1465624897f906983d58711..b334abdb5531f7f3602d77629e0da011ec45d841 100644 (file)
@@ -7,7 +7,7 @@ class PaperlessTesseractConfig(AppConfig):
     name = "paperless_tesseract"
 
     def ready(self):
-        from documents.signals import document_consumer_declaration
+        from paperless.signals import document_consumer_declaration
 
         document_consumer_declaration.connect(tesseract_consumer_declaration)
 
index 0dd7b22064a23604915aa6548c12ed1af5b8187e..a7a25cf493e3b7cdd9b0929f559bb9300133f681 100644 (file)
@@ -7,7 +7,7 @@ class PaperlessTextConfig(AppConfig):
     name = "paperless_text"
 
     def ready(self):
-        from documents.signals import document_consumer_declaration
+        from paperless.signals import document_consumer_declaration
 
         document_consumer_declaration.connect(text_consumer_declaration)
 
index 6fad68df8694ef2742c8717677071b22eb2829c4..2f65aa6a967e2d8d012b4859005ba3bba4ef5d1d 100644 (file)
@@ -8,7 +8,7 @@ class PaperlessTikaConfig(AppConfig):
     name = "paperless_tika"
 
     def ready(self):
-        from documents.signals import document_consumer_declaration
+        from paperless.signals import document_consumer_declaration
 
         if settings.TIKA_ENABLED:
             document_consumer_declaration.connect(tika_consumer_declaration)