diff --git a/src/paperless/checks.py b/src/paperless/checks.py index ed3789d4a..5d9da91c4 100644 --- a/src/paperless/checks.py +++ b/src/paperless/checks.py @@ -337,23 +337,6 @@ def check_deprecated_v2_ocr_env_vars( return warnings -@register() -def check_remote_ocr_mode(app_configs: Any, **kwargs: Any) -> list[Error]: - # Import here because checks.py runs before the app registry is ready - from paperless.models import RemoteOCRMode - - valid_modes = {mode.value for mode in RemoteOCRMode} - if settings.REMOTE_OCR_MODE not in valid_modes: - return [ - Error( - f"PAPERLESS_REMOTE_OCR_MODE is set to {settings.REMOTE_OCR_MODE!r}, " - f"expected one of {sorted(valid_modes)}.", - ), - ] - - return [] - - def get_tesseract_langs(): proc = subprocess.run( [shutil.which("tesseract"), "--list-langs"], diff --git a/src/paperless/settings/__init__.py b/src/paperless/settings/__init__.py index 732f330e0..16478ef57 100644 --- a/src/paperless/settings/__init__.py +++ b/src/paperless/settings/__init__.py @@ -1197,7 +1197,11 @@ WEBHOOKS_ALLOW_INTERNAL_REQUESTS = get_bool_from_env( REMOTE_OCR_ENGINE = os.getenv("PAPERLESS_REMOTE_OCR_ENGINE") REMOTE_OCR_API_KEY = os.getenv("PAPERLESS_REMOTE_OCR_API_KEY") REMOTE_OCR_ENDPOINT = os.getenv("PAPERLESS_REMOTE_OCR_ENDPOINT") -REMOTE_OCR_MODE = os.getenv("PAPERLESS_REMOTE_OCR_MODE", "always") +REMOTE_OCR_MODE = get_choice_from_env( + "PAPERLESS_REMOTE_OCR_MODE", + {"always", "workflow_only"}, + default="always", +) ################################################################################ # AI Settings # diff --git a/src/paperless/tests/test_checks.py b/src/paperless/tests/test_checks.py index 17c3be3d0..b85618a21 100644 --- a/src/paperless/tests/test_checks.py +++ b/src/paperless/tests/test_checks.py @@ -15,7 +15,6 @@ from paperless.checks import audit_log_check from paperless.checks import binaries_check from paperless.checks import check_default_language_available from paperless.checks import check_deprecated_db_settings -from paperless.checks import check_remote_ocr_mode from paperless.checks import check_v3_minimum_upgrade_version from paperless.checks import debug_mode_check from paperless.checks import paths_check @@ -631,23 +630,6 @@ class TestV3MinimumUpgradeVersionCheck: assert check_v3_minimum_upgrade_version(None) == [] -class TestRemoteOCRModeCheck: - def test_valid_mode(self, settings: SettingsWrapper) -> None: - settings.REMOTE_OCR_MODE = "workflow_only" - - msgs = check_remote_ocr_mode(None) - - assert len(msgs) == 0 - - def test_invalid_mode(self, settings: SettingsWrapper) -> None: - settings.REMOTE_OCR_MODE = "sometimes" - - msgs = check_remote_ocr_mode(None) - - assert len(msgs) == 1 - assert "PAPERLESS_REMOTE_OCR_MODE is set to 'sometimes'" in msgs[0].msg - - class TestTesseractChecks: def test_default_language(self) -> None: check_default_language_available(None)