From e1d976168cb5c58673bc85952eb7d867a0ebf5d3 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Wed, 10 Dec 2025 00:41:20 -0800 Subject: [PATCH] feat: handle Pydantic serialization iterators in JSON serialization Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) --- src/ocrmypdf/_options.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ocrmypdf/_options.py b/src/ocrmypdf/_options.py index 408918b3..a0be7a91 100644 --- a/src/ocrmypdf/_options.py +++ b/src/ocrmypdf/_options.py @@ -399,6 +399,9 @@ class OCROptions(BaseModel): elif isinstance(value, (BinaryIO, IOBase)) or hasattr(value, 'read') or hasattr(value, 'write'): # Stream object - replace with placeholder return {'__type__': 'Stream', 'value': 'stream'} + elif hasattr(value, '__class__') and 'Iterator' in value.__class__.__name__: + # Handle Pydantic serialization iterators + return {'__type__': 'Stream', 'value': 'stream'} elif isinstance(value, (list, tuple)): return [_serialize_value(item) for item in value] elif isinstance(value, dict):