Rework igor.struct to support dynamic structures.
authorW. Trevor King <wking@tremily.us>
Fri, 20 Jul 2012 18:50:09 +0000 (14:50 -0400)
committerW. Trevor King <wking@tremily.us>
Fri, 20 Jul 2012 18:50:09 +0000 (14:50 -0400)
commitbdfe5f019373d5e292cdfa90062444ad28db104a
treef69754fc2c202e398954ef222ddb8725a0abe354
parent5375c9477d12aaf0b83e7d0d0bf0873c475c7e64
Rework igor.struct to support dynamic structures.

Between binarywave and record.variables, there was a good deal of
parsing that was conditional on previously parsed data.  Rather than
continue writing spaghetti code to handle each specific case, I've
taken a stab at a general framework for updating structures during
parsing (DynamicStructure and DynamicField).  The docstrings should
explain how they work.  The implementation still has a few holes, but
it works on each of the files in my test suite.
igor/binarywave.py
igor/packed.py
igor/record/variables.py
igor/record/wave.py
igor/struct.py
test/test.py