Find a Europass CV's attachment without its optional /Type marker (#318) #1183
No reviewers
Labels
No labels
accessibility
authentication
breaking change
bug
documentation
enhancement
interface
internationalisation
observability
performance
security
tier
1
tier
2
tier
3
tier/4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo!1183
Loading…
Reference in a new issue
No description provided.
Delete branch "318-europass-real-download"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
plugins/europass/pdf.pyfound a CV's attachment only through a stream marked/Type /EmbeddedFile, which the PDF specification makes optional. A realCandidateXML in a PDF without that marker (Google Docs wrapper,/UFonly) was refused with "That PDF has nothing attached to it".What the reader does now:
/EFto the stream it names, even with no/Type./F,/UFor a server path, and the name tree,/AFor both, all work.Tests (271 passed):
test_a_real_download_readsruns overtests/data/europass-vatanasov/test_with_attachment.pdf. That is a real current-editorCandidateXML (MIT, invented data, provenance and licence in its README) inside a Google Docs PDF./Subtype /text/xml, Flate,/AF) is tested across 24 naming and listing cases./Typeand/Subtype./EFthat points at nothing, and object streams opened only so far.A genuine editor PDF (a real person's CV, not committed) was read locally and checked by its counts.
Refs #318. The issue still needs a CV that the maintainer downloads from the editor.
🤖 Generated with Claude Code
68840facbfa6405ec913