Kaydet (Commit) 51a883bf authored tarafından Guido van Rossum's avatar Guido van Rossum

Make test_wave.py pass.

I have no illusion that this fixes all issues with this module.
üst f761e104
...@@ -16,7 +16,7 @@ f.setnchannels(nchannels) ...@@ -16,7 +16,7 @@ f.setnchannels(nchannels)
f.setsampwidth(sampwidth) f.setsampwidth(sampwidth)
f.setframerate(framerate) f.setframerate(framerate)
f.setnframes(nframes) f.setnframes(nframes)
output = '\0' * nframes * nchannels * sampwidth output = b'\0' * nframes * nchannels * sampwidth
f.writeframes(output) f.writeframes(output)
f.close() f.close()
......
...@@ -126,9 +126,9 @@ class Wave_read: ...@@ -126,9 +126,9 @@ class Wave_read:
self._convert = None self._convert = None
self._soundpos = 0 self._soundpos = 0
self._file = Chunk(file, bigendian = 0) self._file = Chunk(file, bigendian = 0)
if self._file.getname() != 'RIFF': if self._file.getname() != b'RIFF':
raise Error, 'file does not start with RIFF id' raise Error, 'file does not start with RIFF id'
if self._file.read(4) != 'WAVE': if self._file.read(4) != b'WAVE':
raise Error, 'not a WAVE file' raise Error, 'not a WAVE file'
self._fmt_chunk_read = 0 self._fmt_chunk_read = 0
self._data_chunk = None self._data_chunk = None
...@@ -139,10 +139,10 @@ class Wave_read: ...@@ -139,10 +139,10 @@ class Wave_read:
except EOFError: except EOFError:
break break
chunkname = chunk.getname() chunkname = chunk.getname()
if chunkname == 'fmt ': if chunkname == b'fmt ':
self._read_fmt_chunk(chunk) self._read_fmt_chunk(chunk)
self._fmt_chunk_read = 1 self._fmt_chunk_read = 1
elif chunkname == 'data': elif chunkname == b'data':
if not self._fmt_chunk_read: if not self._fmt_chunk_read:
raise Error, 'data chunk before fmt chunk' raise Error, 'data chunk before fmt chunk'
self._data_chunk = chunk self._data_chunk = chunk
...@@ -230,7 +230,7 @@ class Wave_read: ...@@ -230,7 +230,7 @@ class Wave_read:
self._data_chunk.seek(pos, 0) self._data_chunk.seek(pos, 0)
self._data_seek_needed = 0 self._data_seek_needed = 0
if nframes == 0: if nframes == 0:
return '' return b''
if self._sampwidth > 1 and big_endian: if self._sampwidth > 1 and big_endian:
# unfortunately the fromfile() method does not take # unfortunately the fromfile() method does not take
# something that only looks like a file object, so # something that only looks like a file object, so
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment