From b588e3bfd79ca2d08159556da7ac60da32ea866f Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Tue, 10 Mar 2026 01:51:07 -0700 Subject: [PATCH] Fix optimize=2/3 crash when using Python API The jpg_quality and png_quality options default to None in the pydantic model, but the fallback check only handled == 0. This caused a TypeError when calling ocrmypdf.ocr() with optimize >= 2 without explicitly setting quality values. Fixes #1641. --- src/ocrmypdf/optimize.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ocrmypdf/optimize.py b/src/ocrmypdf/optimize.py index 69e1e844..08958e61 100644 --- a/src/ocrmypdf/optimize.py +++ b/src/ocrmypdf/optimize.py @@ -681,9 +681,9 @@ def optimize( safe_symlink(input_file, output_file) return output_file - if options.jpg_quality == 0: + if not options.jpg_quality: options.jpg_quality = DEFAULT_JPEG_QUALITY if options.optimize < 3 else 40 - if options.png_quality == 0: + if not options.png_quality: options.png_quality = DEFAULT_PNG_QUALITY if options.optimize < 3 else 30 with Pdf.open(input_file) as pdf: