mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-28 03:46:06 -05:00 
			
		
		
		
	Fix: Rework system check so it won't crash if tesseract is not found (#7640)
This commit is contained in:
		| @@ -78,7 +78,7 @@ def binaries_check(app_configs, **kwargs): | ||||
|     error = "Paperless can't find {}. Without it, consumption is impossible." | ||||
|     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 = [] | ||||
|     for binary in binaries: | ||||
|   | ||||
| @@ -21,26 +21,32 @@ def get_tesseract_langs(): | ||||
|  | ||||
| @register() | ||||
| def check_default_language_available(app_configs, **kwargs): | ||||
|     installed_langs = get_tesseract_langs() | ||||
|     errs = [] | ||||
|  | ||||
|     if not settings.OCR_LANGUAGE: | ||||
|         return [ | ||||
|         errs.append( | ||||
|             Warning( | ||||
|                 "No OCR language has been specified with PAPERLESS_OCR_LANGUAGE. " | ||||
|                 "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() | ||||
|  | ||||
|         specified_langs = [x.strip() for x in settings.OCR_LANGUAGE.split("+")] | ||||
|  | ||||
|         for lang in specified_langs: | ||||
|             if lang not in installed_langs: | ||||
|             return [ | ||||
|                 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 [] | ||||
|     return errs | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Trenton H
					Trenton H