How larandvit/ebcdic-parser works
This Python application converts EBCDIC records into delimited text using a JSON conversion-rules layout. Users can invoke it through the Python API or command line; the workflow reads the input and rules, interprets records and fields, then writes output and logs. The README documents single- and multi-schema, fixed- and variable-length layouts, anomaly handling, relationship keys, conditional field exclusion, and Python or Java encodings. The sampled implementation is partial and concentrated in convert.py, so links between internal processing stages are limited to documented behavior.
Main entry points: convert.py Conversion run · __main__.py Command line
Components 16
Entry points
- Python API
src/ebcdic_parser/convert.py - Command line
src/ebcdic_parser/__main__.py - Conversion run
src/ebcdic_parser/convert.py
Layout interpretation
- Layout loading
src/ebcdic_parser/convert.py - Schema layouts
src/ebcdic_parser/convert.py
Record conversion
- Record processing
src/ebcdic_parser/convert.py - Anomaly handling
src/ebcdic_parser/convert.py - Field conversion
src/ebcdic_parser/convert.py - Character encoding
src/ebcdic_parser/convert.py - Relationship keys
src/ebcdic_parser/convert.py
Outputs and diagnostics
- Delimited output
src/ebcdic_parser/convert.py - Conversion logs
src/ebcdic_parser/convert.py
Other components
- User
- EBCDIC file
- Rules file
- Java encoding
Connections 17
- User → Python API: calls
- User → Command line: runs
- Command line → Conversion run: starts
- Python API → Conversion run: starts
- Conversion run → EBCDIC file: reads
- Conversion run → Layout loading: loads rules
- Layout loading → Rules file: reads
- Conversion run → Record processing: processes records
- Layout loading → Schema layouts: defines schemas
- Record processing → Schema layouts: selects layout
- Record processing → Anomaly handling: handles skips
- Record processing → Field conversion: converts fields
- Field conversion → Character encoding: decodes text
- Character encoding → Java encoding: uses optionally
- Record processing → Relationship keys: groups records
- Conversion run → Delimited output: writes
- Conversion run → Conversion logs: writes