Skip to content

Latest commit

 

History

History
46 lines (32 loc) · 1.15 KB

README.md

File metadata and controls

46 lines (32 loc) · 1.15 KB

Easy two-way conversion between Python dictionaries and fixed-width files. The FixedWidth class has been used in production without modification for several years.

This module has also proven useful for "debugging" a fixed-width spec -- an invalid configuration reports an error that may not be obvious from reading the spec document.

Requires a 'config' dictonary. See unit tests for full example.

Small example

SAMPLE_CONFIG = {

    'first_name': {
        'required': True,
        'type': 'string',
        'start_pos': 1,
        'end_pos': 10,
        'alignment': 'left',
        'padding': ' '
    },

    'last_name': {
        'required': True,
        'type': 'string',
        'start_pos': 11,
        'end_pos': 30,
        'alignment': 'left',
        'padding': ' '
    },

}

Notes:

  • A field must have a start_pos and either an end_pos or a length. If both an end_pos and a length are provided, they must not conflict.

  • A field may not have a default value if it is required.

  • Supported types are string, integer, and decimal.

  • Alignment and padding are required.

License: BSD