diff Lib/wave.py @ 83983:ccffce2dde49

Issue #18084: Use sys.byteorder in wave.py. Original patch by Hideaki Takahashi.
author Serhiy Storchaka <storchaka@gmail.com>
date Wed, 29 May 2013 23:38:00 +0300
parents 340a12c18b7f
children 8327780d3841
line wrap: on
line diff
--- a/Lib/wave.py	Wed May 29 18:50:06 2013 +0200
+++ b/Lib/wave.py	Wed May 29 23:38:00 2013 +0300
@@ -82,13 +82,8 @@
 
 _array_fmts = None, 'b', 'h', None, 'l'
 
-# Determine endian-ness
 import struct
-if struct.pack("h", 1) == b"\000\001":
-    big_endian = 1
-else:
-    big_endian = 0
-
+import sys
 from chunk import Chunk
 from collections import namedtuple
 
@@ -235,7 +230,7 @@
             self._data_seek_needed = 0
         if nframes == 0:
             return b''
-        if self._sampwidth > 1 and big_endian:
+        if self._sampwidth > 1 and sys.byteorder == 'big':
             # unfortunately the fromfile() method does not take
             # something that only looks like a file object, so
             # we have to reach into the innards of the chunk object
@@ -422,7 +417,7 @@
         nframes = len(data) // (self._sampwidth * self._nchannels)
         if self._convert:
             data = self._convert(data)
-        if self._sampwidth > 1 and big_endian:
+        if self._sampwidth > 1 and sys.byteorder == 'big':
             import array
             data = array.array(_array_fmts[self._sampwidth], data)
             data.byteswap()