refactor: replace OptimizeOptions with OCROptions in tests
Co-authored-by: aider (openrouter/anthropic/claude-sonnet-4) <aider@aider.chat>
This commit is contained in:
@@ -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
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user