mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
Fix: Rework system check so it won't crash if tesseract is not found (#7640)
This commit is contained in:
parent
cc25cbc026
commit
3df8be0bc7
@ -78,7 +78,7 @@ def binaries_check(app_configs, **kwargs):
|
|||||||
error = "Paperless can't find {}. Without it, consumption is impossible."
|
error = "Paperless can't find {}. Without it, consumption is impossible."
|
||||||
hint = "Either it's not in your ${PATH} or it's not installed."
|
hint = "Either it's not in your ${PATH} or it's not installed."
|
||||||
|
|
||||||
binaries = (settings.CONVERT_BINARY, "tesseract")
|
binaries = (settings.CONVERT_BINARY, "tesseract", "gs")
|
||||||
|
|
||||||
check_messages = []
|
check_messages = []
|
||||||
for binary in binaries:
|
for binary in binaries:
|
||||||
|
@ -21,26 +21,32 @@ def get_tesseract_langs():
|
|||||||
|
|
||||||
@register()
|
@register()
|
||||||
def check_default_language_available(app_configs, **kwargs):
|
def check_default_language_available(app_configs, **kwargs):
|
||||||
installed_langs = get_tesseract_langs()
|
errs = []
|
||||||
|
|
||||||
if not settings.OCR_LANGUAGE:
|
if not settings.OCR_LANGUAGE:
|
||||||
return [
|
errs.append(
|
||||||
Warning(
|
Warning(
|
||||||
"No OCR language has been specified with PAPERLESS_OCR_LANGUAGE. "
|
"No OCR language has been specified with PAPERLESS_OCR_LANGUAGE. "
|
||||||
"This means that tesseract will fallback to english.",
|
"This means that tesseract will fallback to english.",
|
||||||
),
|
),
|
||||||
]
|
)
|
||||||
|
return errs
|
||||||
|
|
||||||
specified_langs = settings.OCR_LANGUAGE.split("+")
|
# binaries_check in paperless will check and report if this doesn't exist
|
||||||
|
# So skip trying to do anything here and let that handle missing binaries
|
||||||
|
if shutil.which("tesseract") is not None:
|
||||||
|
installed_langs = get_tesseract_langs()
|
||||||
|
|
||||||
for lang in specified_langs:
|
specified_langs = [x.strip() for x in settings.OCR_LANGUAGE.split("+")]
|
||||||
if lang not in installed_langs:
|
|
||||||
return [
|
|
||||||
Error(
|
|
||||||
f"The selected ocr language {lang} is "
|
|
||||||
f"not installed. Paperless cannot OCR your documents "
|
|
||||||
f"without it. Please fix PAPERLESS_OCR_LANGUAGE.",
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
return []
|
for lang in specified_langs:
|
||||||
|
if lang not in installed_langs:
|
||||||
|
errs.append(
|
||||||
|
Error(
|
||||||
|
f"The selected ocr language {lang} is "
|
||||||
|
f"not installed. Paperless cannot OCR your documents "
|
||||||
|
f"without it. Please fix PAPERLESS_OCR_LANGUAGE.",
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
return errs
|
||||||
|
Loading…
x
Reference in New Issue
Block a user