diff --git a/src/documents/caching.py b/src/documents/caching.py index a8c3bf923..b8afab1d2 100644 --- a/src/documents/caching.py +++ b/src/documents/caching.py @@ -11,7 +11,7 @@ from django.core.cache import cache from paperless.models import Document if TYPE_CHECKING: - from documents.classifier import DocumentClassifier + from paperless.classifier import DocumentClassifier logger = logging.getLogger("paperless.caching") @@ -53,7 +53,7 @@ def get_suggestion_cache(document_id: int) -> SuggestionCacheData | None: The classifier needs to be matching in format and hash and the suggestions need to have been cached once. """ - from documents.classifier import DocumentClassifier + from paperless.classifier import DocumentClassifier doc_key = get_suggestion_cache_key(document_id) cache_hits = cache.get_many([CLASSIFIER_VERSION_KEY, CLASSIFIER_HASH_KEY, doc_key]) diff --git a/src/documents/management/commands/document_retagger.py b/src/documents/management/commands/document_retagger.py index de51f2368..50bcf979b 100644 --- a/src/documents/management/commands/document_retagger.py +++ b/src/documents/management/commands/document_retagger.py @@ -3,12 +3,12 @@ import logging import tqdm from django.core.management.base import BaseCommand -from documents.classifier import load_classifier from documents.management.commands.mixins import ProgressBarMixin 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.models import Document logger = logging.getLogger("paperless.management.retagger") diff --git a/src/documents/signals/handlers.py b/src/documents/signals/handlers.py index cdfb6437e..e66b4be91 100644 --- a/src/documents/signals/handlers.py +++ b/src/documents/signals/handlers.py @@ -49,7 +49,7 @@ from paperless.permissions import set_permissions_for_object if TYPE_CHECKING: from pathlib import Path - from documents.classifier import DocumentClassifier + from paperless.classifier import DocumentClassifier from paperless.data_models import ConsumableDocument from paperless.data_models import DocumentMetadataOverrides diff --git a/src/documents/tasks.py b/src/documents/tasks.py index c2ec82b4c..bce317773 100644 --- a/src/documents/tasks.py +++ b/src/documents/tasks.py @@ -21,8 +21,6 @@ from whoosh.writing import AsyncWriter from documents import sanity_checker from documents.caching import clear_document_caches -from documents.classifier import DocumentClassifier -from documents.classifier import load_classifier from documents.file_handling import create_source_path_directory from documents.file_handling import generate_unique_filename from documents.parsers import DocumentParser @@ -37,6 +35,8 @@ from documents.signals.handlers import cleanup_document_deletion from documents.signals.handlers import run_workflows from paperless import index from paperless.barcodes import BarcodePlugin +from paperless.classifier import DocumentClassifier +from paperless.classifier import load_classifier from paperless.consumer import ConsumerPlugin from paperless.consumer import WorkflowTriggerPlugin from paperless.data_models import ConsumableDocument diff --git a/src/documents/tests/test_api_documents.py b/src/documents/tests/test_api_documents.py index fe388866a..34f5abc9c 100644 --- a/src/documents/tests/test_api_documents.py +++ b/src/documents/tests/test_api_documents.py @@ -1636,7 +1636,7 @@ class TestDocumentApi(DirectoriesMixin, DocumentConsumeDelayMixin, APITestCase): """ # setup the cache how the classifier does it - from documents.classifier import DocumentClassifier + from paperless.classifier import DocumentClassifier settings.MODEL_FILE.touch() diff --git a/src/documents/tests/test_classifier.py b/src/documents/tests/test_classifier.py index bb349611b..2e7d3232b 100644 --- a/src/documents/tests/test_classifier.py +++ b/src/documents/tests/test_classifier.py @@ -8,11 +8,11 @@ from django.conf import settings from django.test import TestCase from django.test import override_settings -from documents.classifier import ClassifierModelCorruptError -from documents.classifier import DocumentClassifier -from documents.classifier import IncompatibleClassifierVersionError -from documents.classifier import load_classifier from documents.tests.utils import DirectoriesMixin +from paperless.classifier import ClassifierModelCorruptError +from paperless.classifier import DocumentClassifier +from paperless.classifier import IncompatibleClassifierVersionError +from paperless.classifier import load_classifier from paperless.models import Correspondent from paperless.models import Document from paperless.models import DocumentType diff --git a/src/documents/classifier.py b/src/paperless/classifier.py similarity index 100% rename from src/documents/classifier.py rename to src/paperless/classifier.py diff --git a/src/paperless/conditionals.py b/src/paperless/conditionals.py index d843391ce..8686888d1 100644 --- a/src/paperless/conditionals.py +++ b/src/paperless/conditionals.py @@ -10,7 +10,7 @@ from documents.caching import CLASSIFIER_HASH_KEY from documents.caching import CLASSIFIER_MODIFIED_KEY from documents.caching import CLASSIFIER_VERSION_KEY from documents.caching import get_thumbnail_modified_key -from documents.classifier import DocumentClassifier +from paperless.classifier import DocumentClassifier from paperless.models import Document diff --git a/src/paperless/consumer.py b/src/paperless/consumer.py index 50a9eb907..834fae6a0 100644 --- a/src/paperless/consumer.py +++ b/src/paperless/consumer.py @@ -15,7 +15,6 @@ from django.utils import timezone from filelock import FileLock from rest_framework.reverse import reverse -from documents.classifier import load_classifier from documents.file_handling import create_source_path_directory from documents.file_handling import generate_unique_filename from documents.parsers import DocumentParser @@ -32,6 +31,7 @@ from documents.signals import document_consumption_finished from documents.signals import document_consumption_started from documents.signals.handlers import run_workflows from documents.templating.workflows import parse_w_workflow_placeholders +from paperless.classifier import load_classifier from paperless.data_models import ConsumableDocument from paperless.data_models import DocumentMetadataOverrides from paperless.loggers import LoggingMixin diff --git a/src/paperless/matching.py b/src/paperless/matching.py index 5be8fb447..7d6f0cd26 100644 --- a/src/paperless/matching.py +++ b/src/paperless/matching.py @@ -18,7 +18,7 @@ from paperless.models import WorkflowTrigger from paperless.permissions import get_objects_for_user_owner_aware if TYPE_CHECKING: - from documents.classifier import DocumentClassifier + from paperless.classifier import DocumentClassifier logger = logging.getLogger("paperless.matching") diff --git a/src/paperless/views.py b/src/paperless/views.py index 9e9567d4e..e8d00ac14 100644 --- a/src/paperless/views.py +++ b/src/paperless/views.py @@ -98,7 +98,6 @@ from documents.caching import refresh_metadata_cache from documents.caching import refresh_suggestions_cache from documents.caching import set_metadata_cache from documents.caching import set_suggestions_cache -from documents.classifier import load_classifier from documents.filters import CorrespondentFilterSet from documents.filters import CustomFieldFilterSet from documents.filters import DocumentFilterSet @@ -125,6 +124,7 @@ from paperless import bulk_edit from paperless import index from paperless import version from paperless.celery import app as celery_app +from paperless.classifier import load_classifier from paperless.conditionals import metadata_etag from paperless.conditionals import metadata_last_modified from paperless.conditionals import preview_etag