Skip to main content

Convert Objects and Django models to/from fixed format records.

Project description

This app allows you to convert objects into fixed width records.

In version 0.1.0 we introduce an entirely new (albeit similar) interface that breaks all dependency on Django and removes the necessity of manually setting the order of fields. We call it ‘fixedwidth’.

Future enhancements to fixedwidth:
  • ListField: will allow you to declare one field on your record that is essentially a list of other ‘Records’. Similar to cobol’s “OCCURS”

  • convert from fixed with record back into python object.

Usage:

from djcopybook.fixedwidth import Record from djcopybook.fixedwidth import fields

class Person(Record):

first_name = fields.StringField(length=20) last_name = fields.StringField(length=30) siblings = fields.IntegerField(length=2) birth_date = fields.DateField(length=10, format=”%Y-%m-%d”)

>>> p = Person(first_name="Joe", last_name="Smith", siblings=3, birth_date="1982-09-11")
>>> p.birth_date
datetime.date(1982, 9, 11)
>>> p.to_record()
'Joe                 Smith                         031982-09-11'

You can also set attributes after a record has been instantiated, give fields default values, and other fun stuff.

When you have a record instance, the data values will always be their python value, and when you do a to_record on the Record as a whole or an individual field it will have the fixedwidth format.

Notes:

Because we are using OrderedDict, the new fixedwidth implementation will only work on Python 2.7 and above. (you can copy the OrderdDict class yourself if you need < 2.7)

The previous Django model implementation is pending deprecation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-copybook-0.1.0.tar.gz (16.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page