Author: guido.van.rossum
Date: Wed Aug 22 00:49:52 2007
New Revision: 57269
Modified:
python/branches/py3k/Lib/sunaudio.py
python/branches/py3k/Lib/test/test_ossaudiodev.py
Log:
Convert sunaudio.py to bytes. (It has no unit test of its own!)
Fix test_ossaudiodev by closing the dsp properly (it can't be opened
multiple times on my box).
Modified: python/branches/py3k/Lib/sunaudio.py
==============================================================================
--- python/branches/py3k/Lib/sunaudio.py (original)
+++ python/branches/py3k/Lib/sunaudio.py Wed Aug 22 00:49:52 2007
@@ -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 @@
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)
Modified: python/branches/py3k/Lib/test/test_ossaudiodev.py
==============================================================================
--- python/branches/py3k/Lib/test/test_ossaudiodev.py (original)
+++ python/branches/py3k/Lib/test/test_ossaudiodev.py Wed Aug 22 00:49:52 2007
@@ -170,6 +170,7 @@
errno.ENODEV, errno.EBUSY):
raise TestSkipped(msg)
raise
+ dsp.close()
test_support.run_unittest(__name__)
if __name__ == "__main__":
_______________________________________________
Python-3000-checkins mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000-checkins