A synonym for :func:`.open`, maintained for backwards compatibility.
+ .. deprecated-removed:: 3.7 3.9
+
The :mod:`sunau` module defines the following exception:
A synonym for :func:`.open`, maintained for backwards compatibility.
+ .. deprecated-removed:: 3.7 3.9
+
.. exception:: Error
else:
raise Error("mode must be 'r', 'rb', 'w', or 'wb'")
-openfp = open # B/W compatibility
+def openfp(f, mode=None):
+ warnings.warn("aifc.openfp is deprecated since Python 3.7. "
+ "Use aifc.open instead.", DeprecationWarning, stacklevel=2)
+ return open(f, mode=mode)
if __name__ == '__main__':
import sys
return None
f.seek(0)
try:
- w = wave.openfp(f, 'r')
+ w = wave.open(f, 'r')
except (EOFError, wave.Error):
return None
return ('wav', w.getframerate(), w.getnchannels(),
"""
from collections import namedtuple
+import warnings
_sunau_params = namedtuple('_sunau_params',
'nchannels sampwidth framerate nframes comptype compname')
else:
raise Error("mode must be 'r', 'rb', 'w', or 'wb'")
-openfp = open
+def openfp(f, mode=None):
+ warnings.warn("sunau.openfp is deprecated since Python 3.7. "
+ "Use sunau.open instead.", DeprecationWarning, stacklevel=2)
+ return open(f, mode=mode)
from test.support import findfile, TESTFN, unlink
import array
import io
+from unittest import mock
import pickle
self.assertEqual(pickle.loads(dump), params)
+class AudioMiscTests(AudioTests):
+
+ def test_openfp_deprecated(self):
+ arg = "arg"
+ mode = "mode"
+ with mock.patch(f"{self.module.__name__}.open") as mock_open, \
+ self.assertWarns(DeprecationWarning):
+ self.module.openfp(arg, mode=mode)
+ mock_open.assert_called_with(arg, mode=mode)
+
+
class AudioWriteTests(AudioTests):
def create_file(self, testfile):
import sys
import struct
import aifc
+import warnings
class AifcTest(audiotests.AudioWriteTests,
frames = byteswap(frames, 2)
-class AifcMiscTest(audiotests.AudioTests, unittest.TestCase):
+class AifcMiscTest(audiotests.AudioMiscTests, unittest.TestCase):
+ module = aifc
+
def test_skipunknown(self):
#Issue 2245
#This file contains chunk types aifc doesn't recognize.
cm('random', ignore=('Random',)) # from _random import Random as CoreGenerator
cm('cgi', ignore=('log',)) # set with = in module
cm('pickle', ignore=('partial',))
+ # TODO(briancurtin): openfp is deprecated as of 3.7.
+ # Update this once it has been removed.
cm('aifc', ignore=('openfp', '_aifc_params')) # set with = in module
cm('sre_parse', ignore=('dump', 'groups', 'pos')) # from sre_constants import *; property
cm('pdb')
frames = byteswap(frames, 2)
+class SunauMiscTests(audiotests.AudioMiscTests, unittest.TestCase):
+ module = sunau
+
+
if __name__ == "__main__":
unittest.main()
frames = byteswap(frames, 4)
-class MiscTestCase(unittest.TestCase):
+class MiscTestCase(audiotests.AudioMiscTests, unittest.TestCase):
+ module = wave
+
def test__all__(self):
blacklist = {'WAVE_FORMAT_PCM'}
support.check__all__(self, wave, blacklist=blacklist)
import sys
from chunk import Chunk
from collections import namedtuple
+import warnings
_wave_params = namedtuple('_wave_params',
'nchannels sampwidth framerate nframes comptype compname')
else:
raise Error("mode must be 'r', 'rb', 'w', or 'wb'")
-openfp = open # B/W compatibility
+def openfp(f, mode=None):
+ warnings.warn("wave.openfp is deprecated since Python 3.7. "
+ "Use wave.open instead.", DeprecationWarning, stacklevel=2)
+ return open(f, mode=mode)
--- /dev/null
+Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp. Since change
+7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the three
+modules had been pointing to that module's open funciton as a matter of
+backwards compatibility, though it had been both untested and undocumented.