How digital-preservation-finland/dpx-validator works
DPX Validator checks selected DPX header fields and reports validity through a CLI or importable API. The workflow is CLI arguments → per-file API validation → truncation check and ordered field checks → messages and file metadata → command-line output. The validator owns field-check sequencing, while the header reader handles binary decoding and byte order. README documents the supported fields; the graph omits undocumented external integrations.
Main entry points: api.py Validation API · main.py CLI runner · dpx_validator.py Header validation · file_header_reader.py Header reader
Components 12
User entry points
- CLI runner
dpx_validator/main.py - Validation API
dpx_validator/api.py
Validation workflow
- Truncation check
dpx_validator/dpx_validator.py - Header validation
dpx_validator/dpx_validator.py - Field checks
dpx_validator/dpx_validator.py
Header decoding
- Header reader
dpx_validator/file_header_reader.py
Results and reporting
- Message types
dpx_validator/messages.py - CLI formatter
dpx_validator/messages.py
Other components
- CLI user
- DPX file
- Filesystem metadata
- Validation result
Connections 14
- CLI user → CLI runner: provides paths
dpx_validator/main.py - CLI runner → Validation API: validates files
dpx_validator/main.py - Validation API → Truncation check: checks truncation
dpx_validator/api.py - Validation API → Header validation: runs validation
dpx_validator/api.py - Validation API → DPX file: opens bytes
dpx_validator/api.py - Truncation check → Filesystem metadata: reads file size
dpx_validator/dpx_validator.py - Header validation → Field checks: runs checks
dpx_validator/dpx_validator.py - Field checks → Header reader: reads fields
dpx_validator/dpx_validator.py - Header reader → DPX file: seeks and unpacks
dpx_validator/file_header_reader.py - Field checks → Filesystem metadata: compares file size
dpx_validator/dpx_validator.py - Header validation → Message types: collects message types
dpx_validator/dpx_validator.py - Validation API → Validation result: returns metadata and logs
dpx_validator/api.py - CLI runner → CLI formatter: formats logs
dpx_validator/main.py - CLI formatter → CLI user: prints outcome