mirror of
https://github.com/MadsLorentzen/ai-job-search.git
synced 2026-11-06 06:57:50 +00:00
* fix(verify-layout): walk PATH candidates for pdftotext supporting -bbox (#655) Git for Windows prepends C:\Program Files\Git\mingw64\bin to PATH under Git Bash (which Claude Code's Bash tool uses on Windows). That directory ships an xpdf pdftotext 4.00 without -bbox support. Previously, verify_layout.py resolved whichever pdftotext shutil.which found first, causing the layout check to exit 2 with skipped: on Windows even when a working Poppler build (e.g. from MiKTeX, Chocolatey, or Scoop) was installed further down PATH. Walk all candidates returned by shutil.which("pdftotext", path=entry) for each entry in os.get_exec_path(), de-duplicated. Probe each candidate's -h output for -bbox support, and call subprocess.run with the full path of the first working binary instead of the bare command name. If no candidate supports -bbox, keep today's skip message on failure. Tests added to TestExtractorFailure in tests/test_verify_layout.py: - First candidate lacks -bbox and second has it (second candidate's full path is run) - No candidate has -bbox (skip path is kept) - PATH candidate de-duplication (avoids redundant probes) Fixes #655 * perf(verify-layout): cache resolved pdftotext binary at module level * changelog: place the #668 entry under [Unreleased] Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Mads Lorentzen <madslorentzen_17@hotmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
4 files changed
+187
-8
No files matched your search
@@ -268,7 +268,7 @@ The layout script reports, per page, where the text starts and stops, bottom whi
|
||||
|
||||
The hole check is the one a visual read misses. A moderncv `\cventry` renders as a `tabular`, so it is an **unbreakable block**: when it does not fit in the space left, the whole entry jumps to the next page and leaves a hole behind, while the document still compiles and still reports the right page count. Fix it by shortening the entry that follows the hole, not by stretching the page.
|
||||
|
||||
If Poppler is missing, or the `pdftotext` first in PATH is the xpdf build Git for Windows ships (no `-bbox`), the script exits 2 with `skipped:` — note the degraded mode in the Step 6 report and rely on the visual inspection alone. Exit 2 is never a layout verdict.
|
||||
If Poppler is missing, or no `pdftotext` on PATH supports `-bbox` (Git for Windows ships an xpdf build without it), the script exits 2 with `skipped:` - note the degraded mode in the Step 6 report and rely on the visual inspection alone. Exit 2 is never a layout verdict.
|
||||
|
||||
The thresholds are calibrated for the stock moderncv and `cover.cls` geometry; a template registered via `/add-template` may report a phantom hole above a footer the 90pt band does not cover.
|
||||
|
||||
|
||||
Reference in new issue
Block a user