refactor: replace OptimizeOptions with OCROptions in tests

Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat>
This commit is contained in:
James R. Barlow
2025-12-13 11:41:58 -08:00
co-authored by aider
parent 62c3ae80c7
commit 04ad78f01d
2 changed files with 22 additions and 22 deletions
+10 -1
View File
@@ -39,9 +39,18 @@ class PdfContext:
if isinstance(options, Namespace):
self.options = OCROptions.from_namespace(options)
self._namespace_options = options # Keep original for PageContext
else:
elif isinstance(options, OCROptions):
self.options = options
self._namespace_options = options.to_namespace() # Convert immediately for PageContext
else:
# Handle other option types (like OptimizeOptions) by converting to OCROptions first
# This is a fallback for legacy code
self.options = options
# Create a minimal namespace for PageContext compatibility
self._namespace_options = Namespace()
for attr in dir(options):
if not attr.startswith('_') and hasattr(options, attr):
setattr(self._namespace_options, attr, getattr(options, attr))
self.work_folder = work_folder
self.origin = origin
self.pdfinfo = pdfinfo
+12 -21
View File
@@ -766,32 +766,23 @@ def main(infile, outfile, level, jobs=1):
"""Entry point for direct optimization of a file."""
from shutil import copy # pylint: disable=import-outside-toplevel
from tempfile import TemporaryDirectory # pylint: disable=import-outside-toplevel
class OptimizeOptions:
"""Emulate ocrmypdf's options."""
def __init__(
self, input_file, jobs, optimize_, jpeg_quality, png_quality, jb2lossy
):
self.input_file = input_file
self.jobs = jobs
self.optimize = optimize_
self.jpeg_quality = jpeg_quality
self.png_quality = png_quality
self.jbig2_page_group_size = 0
self.jbig2_lossy = jb2lossy
self.jbig2_threshold = 0.85
self.quiet = True
self.progress_bar = False
from ocrmypdf._options import OCROptions # pylint: disable=import-outside-toplevel
infile = Path(infile)
options = OptimizeOptions(
# Create OCROptions with optimization-specific settings
options = OCROptions(
input_file=infile,
output_file=outfile, # Required field
jobs=jobs,
optimize_=int(level),
jpeg_quality=0, # Use default
optimize=int(level),
jpg_quality=0, # Use default
png_quality=0,
jb2lossy=False,
jbig2_page_group_size=0,
jbig2_lossy=False,
jbig2_threshold=0.85,
quiet=True,
progress_bar=False,
)
with TemporaryDirectory() as tmpdir: