Fixes to string/byte handling for Python 3 compatibility.
authorW. Trevor King <wking@tremily.us>
Sat, 21 Jul 2012 13:54:20 +0000 (09:54 -0400)
committerW. Trevor King <wking@tremily.us>
Sat, 21 Jul 2012 13:54:23 +0000 (09:54 -0400)
commit7612a4622392bd4599dc5bbcdd0d6e5b5397e6d8
treea8cde26b131e583acbf91e26a29a6f811773972f
parent4776df191fd24648ba06aca82725da04dff5eccd
Fixes to string/byte handling for Python 3 compatibility.

I don't know if encoding information is embedded in the IGOR files or
not.  Currently the stock parser just leaves everything it reads in in
bytes.  For compatibility, the igorpy module attempts to convert those
byte strings to Unicode, but it just assumes that the encoding used in
the file matches the locale or default encoding used by your system.
This could be a portability issue.  Until commit

  commit fe7006e3e2d741b6d80767b1aac53394ff1e7e76
  Author: W. Trevor King <wking@tremily.us>
  Date:   Sat Jul 21 07:50:09 2012 -0400

    Replace igor.igorpy parsing with translations from igor.packed.load.

The igorpy parser used sys.getfilesystemencoding() to guess the
encoding, but that encoding is actually used to encode file names, not
file contents.  locale.getpreferredencoding is a better guess, but
it's still just a guess.
igor/binarywave.py
igor/igorpy.py
igor/record/base.py
test/test-igorpy.py