From 3a82e090282144abbc6da06c6ea38f6007646502 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 8 Apr 2025 16:22:40 -0700 Subject: [PATCH] Merge data models --- src/documents/barcodes.py | 2 +- src/documents/bulk_edit.py | 6 +++--- src/documents/consumer.py | 4 ++-- src/documents/management/commands/document_consumer.py | 6 +++--- src/documents/plugins/base.py | 4 ++-- src/documents/serialisers.py | 2 +- src/documents/signals/handlers.py | 4 ++-- src/documents/tasks.py | 4 ++-- src/documents/tests/test_api_documents.py | 2 +- src/documents/tests/test_api_workflows.py | 2 +- src/documents/tests/test_barcodes.py | 6 +++--- src/documents/tests/test_consumer.py | 4 ++-- src/documents/tests/test_double_sided.py | 4 ++-- src/documents/tests/test_management_consumer.py | 2 +- src/documents/tests/test_migration_workflows.py | 2 +- src/documents/tests/test_task_signals.py | 6 +++--- src/documents/tests/test_workflows.py | 4 ++-- src/documents/tests/utils.py | 6 +++--- src/{documents => paperless}/data_models.py | 0 src/paperless/matching.py | 4 ++-- src/paperless/models.py | 2 +- src/paperless/views.py | 6 +++--- src/paperless_mail/mail.py | 6 +++--- 23 files changed, 44 insertions(+), 44 deletions(-) rename src/{documents => paperless}/data_models.py (100%) diff --git a/src/documents/barcodes.py b/src/documents/barcodes.py index 11a7dc6b3..acfc779f9 100644 --- a/src/documents/barcodes.py +++ b/src/documents/barcodes.py @@ -14,13 +14,13 @@ from pikepdf import PasswordError from pikepdf import Pdf from documents.converters import convert_from_tiff_to_pdf -from documents.data_models import ConsumableDocument from documents.plugins.base import ConsumeTaskPlugin from documents.plugins.base import StopConsumeTaskError from documents.plugins.helpers import ProgressStatusOptions from documents.utils import copy_basic_file_stats from documents.utils import copy_file_with_basic_stats from documents.utils import maybe_override_pixel_limit +from paperless.data_models import ConsumableDocument from paperless.models import Tag if TYPE_CHECKING: diff --git a/src/documents/bulk_edit.py b/src/documents/bulk_edit.py index d95e32420..d358bb80b 100644 --- a/src/documents/bulk_edit.py +++ b/src/documents/bulk_edit.py @@ -16,14 +16,14 @@ from django.conf import settings from django.db.models import Q from django.utils import timezone -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.permissions import set_permissions_for_object from documents.plugins.helpers import DocumentsStatusManager from documents.tasks import bulk_update_documents from documents.tasks import consume_file from documents.tasks import update_document_content_maybe_archive_file +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import CustomFieldInstance diff --git a/src/documents/consumer.py b/src/documents/consumer.py index 1b0ed4459..4d9509e56 100644 --- a/src/documents/consumer.py +++ b/src/documents/consumer.py @@ -16,8 +16,6 @@ from filelock import FileLock from rest_framework.reverse import reverse from documents.classifier import load_classifier -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides from documents.file_handling import create_source_path_directory from documents.file_handling import generate_unique_filename from documents.loggers import LoggingMixin @@ -39,6 +37,8 @@ from documents.templating.workflows import parse_w_workflow_placeholders from documents.utils import copy_basic_file_stats from documents.utils import copy_file_with_basic_stats from documents.utils import run_subprocess +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import CustomFieldInstance diff --git a/src/documents/management/commands/document_consumer.py b/src/documents/management/commands/document_consumer.py index 3f15e6a04..ebf4e07a0 100644 --- a/src/documents/management/commands/document_consumer.py +++ b/src/documents/management/commands/document_consumer.py @@ -16,11 +16,11 @@ from django.core.management.base import CommandError from watchdog.events import FileSystemEventHandler from watchdog.observers.polling import PollingObserver -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.parsers import is_file_ext_supported from documents.tasks import consume_file +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource from paperless.models import Tag try: diff --git a/src/documents/plugins/base.py b/src/documents/plugins/base.py index 81f0c86c3..89682cdaf 100644 --- a/src/documents/plugins/base.py +++ b/src/documents/plugins/base.py @@ -2,9 +2,9 @@ import abc from pathlib import Path from typing import Final -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides from documents.plugins.helpers import ProgressManager +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides class StopConsumeTaskError(Exception): diff --git a/src/documents/serialisers.py b/src/documents/serialisers.py index 006da390b..2cb6737a7 100644 --- a/src/documents/serialisers.py +++ b/src/documents/serialisers.py @@ -36,7 +36,6 @@ if settings.AUDIT_LOG_ENABLED: from documents import bulk_edit -from documents.data_models import DocumentSource from documents.parsers import is_mime_type_supported from documents.permissions import get_groups_with_only_permission from documents.permissions import set_permissions_for_object @@ -44,6 +43,7 @@ from documents.templating.filepath import validate_filepath_template_and_render from documents.templating.utils import convert_format_str_to_template_format from documents.validators import uri_validator from documents.validators import url_validator +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import CustomFieldInstance diff --git a/src/documents/signals/handlers.py b/src/documents/signals/handlers.py index fd0d12804..cba7568a5 100644 --- a/src/documents/signals/handlers.py +++ b/src/documents/signals/handlers.py @@ -50,8 +50,8 @@ if TYPE_CHECKING: from pathlib import Path from documents.classifier import DocumentClassifier - from documents.data_models import ConsumableDocument - from documents.data_models import DocumentMetadataOverrides + from paperless.data_models import ConsumableDocument + from paperless.data_models import DocumentMetadataOverrides logger = logging.getLogger("paperless.handlers") diff --git a/src/documents/tasks.py b/src/documents/tasks.py index a01782c9d..d961d1881 100644 --- a/src/documents/tasks.py +++ b/src/documents/tasks.py @@ -27,8 +27,6 @@ from documents.classifier import DocumentClassifier from documents.classifier import load_classifier from documents.consumer import ConsumerPlugin from documents.consumer import WorkflowTriggerPlugin -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides from documents.double_sided import CollatePlugin from documents.file_handling import create_source_path_directory from documents.file_handling import generate_unique_filename @@ -42,6 +40,8 @@ from documents.sanity_checker import SanityCheckFailedException from documents.signals import document_updated from documents.signals.handlers import cleanup_document_deletion from documents.signals.handlers import run_workflows +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides from paperless.models import Correspondent from paperless.models import CustomFieldInstance from paperless.models import Document diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index c27c1f050..fe388866a 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -28,10 +28,10 @@ from documents.caching import CACHE_50_MINUTES from documents.caching import CLASSIFIER_HASH_KEY from documents.caching import CLASSIFIER_MODIFIED_KEY from documents.caching import CLASSIFIER_VERSION_KEY -from documents.data_models import DocumentSource from documents.signals.handlers import run_workflows from documents.tests.utils import DirectoriesMixin from documents.tests.utils import DocumentConsumeDelayMixin +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import CustomFieldInstance diff --git a/src/documents/tests/test_api_workflows.py b/src/documents/tests/test_api_workflows.py index d414eae77..9c76bacd7 100644 --- a/src/documents/tests/test_api_workflows.py +++ b/src/documents/tests/test_api_workflows.py @@ -5,8 +5,8 @@ from django.contrib.auth.models import User from rest_framework import status from rest_framework.test import APITestCase -from documents.data_models import DocumentSource from documents.tests.utils import DirectoriesMixin +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import DocumentType diff --git a/src/documents/tests/test_barcodes.py b/src/documents/tests/test_barcodes.py index 218588dbc..70adaf7b6 100644 --- a/src/documents/tests/test_barcodes.py +++ b/src/documents/tests/test_barcodes.py @@ -11,15 +11,15 @@ from django.test import override_settings from documents import tasks from documents.barcodes import BarcodePlugin -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.plugins.base import StopConsumeTaskError from documents.tests.utils import DirectoriesMixin from documents.tests.utils import DocumentConsumeDelayMixin from documents.tests.utils import DummyProgressManager from documents.tests.utils import FileSystemAssertsMixin from documents.tests.utils import SampleDirMixin +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource from paperless.models import Document from paperless.models import Tag diff --git a/src/documents/tests/test_consumer.py b/src/documents/tests/test_consumer.py index 6155f4841..bb483d4da 100644 --- a/src/documents/tests/test_consumer.py +++ b/src/documents/tests/test_consumer.py @@ -18,8 +18,6 @@ from django.utils import timezone from guardian.core import ObjectPermissionChecker from documents.consumer import ConsumerError -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.parsers import DocumentParser from documents.parsers import ParseError from documents.plugins.helpers import ProgressStatusOptions @@ -27,6 +25,8 @@ from documents.tasks import sanity_check from documents.tests.utils import DirectoriesMixin from documents.tests.utils import FileSystemAssertsMixin from documents.tests.utils import GetConsumerMixin +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import CustomField from paperless.models import Document diff --git a/src/documents/tests/test_double_sided.py b/src/documents/tests/test_double_sided.py index 5d068b735..6b3b59df0 100644 --- a/src/documents/tests/test_double_sided.py +++ b/src/documents/tests/test_double_sided.py @@ -11,13 +11,13 @@ from pikepdf import Pdf from documents import tasks from documents.consumer import ConsumerError -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentSource from documents.double_sided import STAGING_FILE_NAME from documents.double_sided import TIMEOUT_MINUTES from documents.tests.utils import DirectoriesMixin from documents.tests.utils import DummyProgressManager from documents.tests.utils import FileSystemAssertsMixin +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentSource @override_settings( diff --git a/src/documents/tests/test_management_consumer.py b/src/documents/tests/test_management_consumer.py index a741fe5aa..d2de96b59 100644 --- a/src/documents/tests/test_management_consumer.py +++ b/src/documents/tests/test_management_consumer.py @@ -13,10 +13,10 @@ from django.test import TransactionTestCase from django.test import override_settings from documents.consumer import ConsumerError -from documents.data_models import ConsumableDocument from documents.management.commands import document_consumer from documents.tests.utils import DirectoriesMixin from documents.tests.utils import DocumentConsumeDelayMixin +from paperless.data_models import ConsumableDocument from paperless.models import Tag diff --git a/src/documents/tests/test_migration_workflows.py b/src/documents/tests/test_migration_workflows.py index 989518818..1c16da9dd 100644 --- a/src/documents/tests/test_migration_workflows.py +++ b/src/documents/tests/test_migration_workflows.py @@ -1,5 +1,5 @@ -from documents.data_models import DocumentSource from documents.tests.utils import TestMigrations +from paperless.data_models import DocumentSource class TestMigrateWorkflow(TestMigrations): diff --git a/src/documents/tests/test_task_signals.py b/src/documents/tests/test_task_signals.py index a5ab8bd07..c2594f596 100644 --- a/src/documents/tests/test_task_signals.py +++ b/src/documents/tests/test_task_signals.py @@ -4,15 +4,15 @@ from unittest import mock import celery from django.test import TestCase -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource 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 diff --git a/src/documents/tests/test_workflows.py b/src/documents/tests/test_workflows.py index 51cf2a706..295bb3878 100644 --- a/src/documents/tests/test_workflows.py +++ b/src/documents/tests/test_workflows.py @@ -22,13 +22,13 @@ if TYPE_CHECKING: from documents import tasks -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentSource 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 from documents.tests.utils import SampleDirMixin +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentSource from paperless.matching import document_matches_workflow from paperless.models import Correspondent from paperless.models import CustomField diff --git a/src/documents/tests/utils.py b/src/documents/tests/utils.py index fc50b3948..87388ced8 100644 --- a/src/documents/tests/utils.py +++ b/src/documents/tests/utils.py @@ -21,11 +21,11 @@ from django.test import TransactionTestCase from django.test import override_settings from documents.consumer import ConsumerPlugin -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.parsers import ParseError from documents.plugins.helpers import ProgressStatusOptions +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource def setup_directories(): diff --git a/src/documents/data_models.py b/src/paperless/data_models.py similarity index 100% rename from src/documents/data_models.py rename to src/paperless/data_models.py diff --git a/src/paperless/matching.py b/src/paperless/matching.py index e01ca7eca..c3cc3ea0f 100644 --- a/src/paperless/matching.py +++ b/src/paperless/matching.py @@ -5,9 +5,9 @@ import re from fnmatch import fnmatch from typing import TYPE_CHECKING -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentSource from documents.permissions import get_objects_for_user_owner_aware +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless.models import Document from paperless.models import DocumentType diff --git a/src/paperless/models.py b/src/paperless/models.py index 78d46b036..92cf66e63 100644 --- a/src/paperless/models.py +++ b/src/paperless/models.py @@ -23,8 +23,8 @@ from django.db.models.functions import Cast from django.db.models.functions import Substr from django_softdelete.models import SoftDeleteModel -from documents.data_models import DocumentSource from documents.parsers import get_default_file_extension +from paperless.data_models import DocumentSource DEFAULT_SINGLETON_INSTANCE_ID = 1 diff --git a/src/paperless/views.py b/src/paperless/views.py index fcfa3e7c8..2cb3b1deb 100644 --- a/src/paperless/views.py +++ b/src/paperless/views.py @@ -108,9 +108,6 @@ from documents.conditionals import preview_last_modified from documents.conditionals import suggestions_etag from documents.conditionals import suggestions_last_modified from documents.conditionals import thumbnail_last_modified -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.filters import CorrespondentFilterSet from documents.filters import CustomFieldFilterSet from documents.filters import DocumentFilterSet @@ -167,6 +164,9 @@ from documents.templating.filepath import validate_filepath_template_and_render from paperless import version from paperless.celery import app as celery_app from paperless.config import GeneralConfig +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource from paperless.db import GnuPG from paperless.filters import GroupFilterSet from paperless.filters import UserFilterSet diff --git a/src/paperless_mail/mail.py b/src/paperless_mail/mail.py index 906804aa3..cb5bec64f 100644 --- a/src/paperless_mail/mail.py +++ b/src/paperless_mail/mail.py @@ -33,12 +33,12 @@ from imap_tools import errors from imap_tools.mailbox import MailBoxTls from imap_tools.query import LogicOperator -from documents.data_models import ConsumableDocument -from documents.data_models import DocumentMetadataOverrides -from documents.data_models import DocumentSource from documents.loggers import LoggingMixin from documents.parsers import is_mime_type_supported from documents.tasks import consume_file +from paperless.data_models import ConsumableDocument +from paperless.data_models import DocumentMetadataOverrides +from paperless.data_models import DocumentSource from paperless.models import Correspondent from paperless_mail.models import MailAccount from paperless_mail.models import MailRule