Run update-copyright.py
test/test.py: Fix ['Column0'] -> ['', 'Column0'] Catch up with 551d9bca (Fix DynamicLabelsField parsing algorithm., 2012-08-20).
Add igor.packed.walk for traversing a packed experiment filesystem.
Use LOG to print helpful messages in test.py.
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.
Use variable names to store variables in the filesystem (vs. VariablesRecord).
Store wave, bin_info, and wave_info separately in WaveRecord. This makes more sense than storing them as a tuple. Also, use wave_record.wave_info['bname'] as the name for storing the wave in the filesystem view returned by packed.load.
Read sIndices as uint32's in binarywave.load.
Implement the folder records and filesystem reconstruction.
Implement the plain-text ProcedureRecord.
Implement the plain-text HistoryRecord, RecreationRecord, and GetHistoryRecord.
Split record handling into modules and implement VariablesRecord.
WaveRecord now loads waves as WaveRecord.wave.
API cleanup for binarywave (loadibw->load, move checksum to util, ...). Also moved byte_order to the util module and renamed a few functions internal to the binarywave module so they start with an underscore. The loadibw -> load (and saveibw -> save) change is because from igor.binarywave import load gives you enough of an idea about what you're importing. If you want to keep it explicit in your client module, use from igor.binarywave import load as loadibw which we do in the test.py module.
Stub out packed experiment (.pxp) reading.
Add the test suite that's been driving today's changes. Samples are from TN003.zip, downloaded from ftp://www.wavemetrics.net/IgorPro/Technical_Notes/TN003.zip