Skip to content

Commit 2d4c5e4

Browse files
committed
Address review: revert _read_fmt_chunk unpack, rename rounded_framerate, extract test messages
1 parent 52c4f5e commit 2d4c5e4

2 files changed

Lines changed: 12 additions & 13 deletions

File tree

Lib/test/test_wave.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,30 +433,30 @@ def test_setframerate_rounds(self, arg, expected):
433433

434434
@support.subTests('nchannels', (0, -1))
435435
def test_setnchannels_error_includes_value(self, nchannels):
436+
msg = re.escape(f'bad # of channels: {nchannels!r}')
436437
with wave.open(io.BytesIO(), 'wb') as f:
437-
with self.assertRaisesRegex(wave.Error,
438-
re.escape(f'bad # of channels: {nchannels!r}')):
438+
with self.assertRaisesRegex(wave.Error, msg):
439439
f.setnchannels(nchannels)
440440
with self.assertRaises(wave.Error):
441441
f.close()
442442

443443
@support.subTests('sampwidth', (0, 5))
444444
def test_setsampwidth_error_includes_value(self, sampwidth):
445+
msg = re.escape(f'bad sample width: {sampwidth!r}')
445446
with wave.open(io.BytesIO(), 'wb') as f:
446447
f.setnchannels(1)
447-
with self.assertRaisesRegex(wave.Error,
448-
re.escape(f'bad sample width: {sampwidth!r}')):
448+
with self.assertRaisesRegex(wave.Error, msg):
449449
f.setsampwidth(sampwidth)
450450
with self.assertRaises(wave.Error):
451451
f.close()
452452

453453
@support.subTests('arg', (-1, 0, 0.4))
454454
def test_setframerate_error_includes_value(self, arg):
455+
msg = re.escape(f'bad frame rate: {arg!r}')
455456
with wave.open(io.BytesIO(), 'wb') as f:
456457
f.setnchannels(1)
457458
f.setsampwidth(2)
458-
with self.assertRaisesRegex(wave.Error,
459-
re.escape(f'bad frame rate: {arg!r}')):
459+
with self.assertRaisesRegex(wave.Error, msg):
460460
f.setframerate(arg)
461461
with self.assertRaises(wave.Error):
462462
f.close()

Lib/wave.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ def readframes(self, nframes):
388388

389389
def _read_fmt_chunk(self, chunk):
390390
try:
391-
self._format, nchannels, self._framerate, dwAvgBytesPerSec, wBlockAlign = struct.unpack_from('<HHLLH', chunk.read(14))
391+
self._format, self._nchannels, self._framerate, dwAvgBytesPerSec, wBlockAlign = struct.unpack_from('<HHLLH', chunk.read(14))
392392
except struct.error:
393393
raise EOFError from None
394394
if self._format not in (WAVE_FORMAT_PCM, WAVE_FORMAT_IEEE_FLOAT, WAVE_FORMAT_EXTENSIBLE):
@@ -416,9 +416,8 @@ def _read_fmt_chunk(self, chunk):
416416
self._sampwidth = (sampwidth + 7) // 8
417417
if not self._sampwidth:
418418
raise Error(f'bad sample width: {sampwidth!r}')
419-
if not nchannels:
420-
raise Error(f'bad # of channels: {nchannels!r}')
421-
self._nchannels = nchannels
419+
if not self._nchannels:
420+
raise Error(f'bad # of channels: {self._nchannels!r}')
422421
self._framesize = self._nchannels * self._sampwidth
423422
self._comptype = 'NONE'
424423
self._compname = 'not compressed'
@@ -522,10 +521,10 @@ def getsampwidth(self):
522521
def setframerate(self, framerate):
523522
if self._datawritten:
524523
raise Error('cannot change parameters after starting to write')
525-
rounded = int(round(framerate))
526-
if rounded <= 0:
524+
rounded_framerate = int(round(framerate))
525+
if rounded_framerate <= 0:
527526
raise Error(f'bad frame rate: {framerate!r}')
528-
self._framerate = rounded
527+
self._framerate = rounded_framerate
529528

530529
def getframerate(self):
531530
if not self._framerate:

0 commit comments

Comments
 (0)