Move need_to_reorder_bytes from binarywave to util.
authorW. Trevor King <wking@tremily.us>
Tue, 17 Jul 2012 12:59:17 +0000 (08:59 -0400)
committerW. Trevor King <wking@tremily.us>
Tue, 17 Jul 2012 12:59:17 +0000 (08:59 -0400)
We'll be needing it for packed.load, so it's not binarywave-specific.

igor/binarywave.py
igor/util.py

index 70af3107b61bf5bdbe9df90cb24c9dda394f3c9c..f9c4e18a2a87e681c1aff6eb61bab5ff11d04a70 100644 (file)
@@ -36,6 +36,7 @@ from .struct import Structure as _Structure
 from .struct import Field as _Field
 from .util import assert_null as _assert_null
 from .util import byte_order as _byte_order
+from .util import need_to_reorder_bytes as _need_to_reorder_bytes
 from .util import checksum as _checksum
 
 
@@ -226,15 +227,6 @@ WaveHeader5 = _Structure(
 
 # End IGOR constants and typedefs from IgorBin.h
 
-# Begin functions from ReadWave.c
-
-def _need_to_reorder_bytes(version):
-    # If the low order byte of the version field of the BinHeader
-    # structure is zero then the file is from a platform that uses
-    # different byte-ordering and therefore all data will need to be
-    # reordered.
-    return version & 0xFF == 0
-
 def _version_structs(version, byte_order):
     if version == 1:
         bin = BinHeader1
@@ -271,7 +263,7 @@ def load(filename, strict=True):
         version = BinHeaderCommon.unpack_dict_from(b)['version']
         needToReorderBytes = _need_to_reorder_bytes(version)
         byteOrder = _byte_order(needToReorderBytes)
-        
+
         if needToReorderBytes:
             BinHeaderCommon.set_byte_order(byteOrder)
             version = BinHeaderCommon.unpack_dict_from(b)['version']
index 55c015c00fd5fef44823832f34f76b2700ded39c..c263cd1295940d0f0d799d6f7bee4cab04d2fab2 100644 (file)
@@ -63,6 +63,14 @@ def byte_order(needToReorderBytes):
         return '<'  # little-endian
     return '>'  # big-endian    
 
+# From ReadWave.c
+def need_to_reorder_bytes(version):
+    # If the low order byte of the version field of the BinHeader
+    # structure is zero then the file is from a platform that uses
+    # different byte-ordering and therefore all data will need to be
+    # reordered.
+    return version & 0xFF == 0
+
 # From ReadWave.c
 def checksum(buffer, byte_order, oldcksum, numbytes):
     x = _numpy.ndarray(