diff options
-rw-r--r-- | Lib/sunaudio.py | 16 | ||||
-rw-r--r-- | Lib/test/test_ossaudiodev.py | 1 |
2 files changed, 11 insertions, 6 deletions
diff --git a/Lib/sunaudio.py b/Lib/sunaudio.py index 05bd867..ab4a8fa 100644 --- a/Lib/sunaudio.py +++ b/Lib/sunaudio.py @@ -1,14 +1,14 @@ """Interpret sun audio headers.""" -MAGIC = '.snd' +MAGIC = b'.snd' class error(Exception): pass def get_long_be(s): - """Convert a 4-char value to integer.""" - return (ord(s[0])<<24) | (ord(s[1])<<16) | (ord(s[2])<<8) | ord(s[3]) + """Convert a 4-byte value to integer.""" + return (s[0]<<24) | (s[1]<<16) | (s[2]<<8) | s[3] def gethdr(fp): @@ -26,15 +26,19 @@ def gethdr(fp): if excess > 0: info = fp.read(excess) else: - info = '' + info = b'' return (data_size, encoding, sample_rate, channels, info) def printhdr(file): """Read and print the sound header of a named file.""" - hdr = gethdr(open(file, 'r')) + f = open(file, 'rb') + try: + hdr = gethdr(f) + finally: + f.close() data_size, encoding, sample_rate, channels, info = hdr - while info[-1:] == '\0': + while info.endswith(b'\0'): info = info[:-1] print('File name: ', file) print('Data size: ', data_size) diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py index eb15e88..0cdc93c 100644 --- a/Lib/test/test_ossaudiodev.py +++ b/Lib/test/test_ossaudiodev.py @@ -170,6 +170,7 @@ def test_main(): errno.ENODEV, errno.EBUSY): raise TestSkipped(msg) raise + dsp.close() test_support.run_unittest(__name__) if __name__ == "__main__": |