From 86b11c7e5fe991fce1d6ee00c487b11884700881 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Fri, 13 Mar 2026 10:12:32 +0100 Subject: [PATCH] fix: catch all exceptions in PaddleOCR version fallback PaddleOCR 2.8.1 throws a generic Exception (not ValueError) when ocr_version='PP-OCRv5' is used. Broadened except clause to catch any error and fall back to lang='latin' for older versions. Co-Authored-By: Claude Opus 4.6 --- paddleocr-service/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/paddleocr-service/main.py b/paddleocr-service/main.py index 94c0923..c76c25c 100644 --- a/paddleocr-service/main.py +++ b/paddleocr-service/main.py @@ -24,7 +24,7 @@ def get_engine(): from paddleocr import PaddleOCR logger.info("Loading PaddleOCR model...") - # PaddleOCR >= 3.x: use ocr_version param; fallback for older API + # PaddleOCR >= 3.x: lang="en" + PP-OCRv5; older: lang="latin" try: _engine = PaddleOCR( lang="en", @@ -32,12 +32,14 @@ def get_engine(): use_angle_cls=True, show_log=False, ) - except (ValueError, TypeError): + logger.info("Using PP-OCRv5 (en)") + except Exception: _engine = PaddleOCR( lang="latin", use_angle_cls=True, show_log=False, ) + logger.info("Using PP-OCRv4 fallback (latin)") logger.info("PaddleOCR model loaded successfully") return _engine