mirror of https://github.com/python/cpython
gh-105096: Deprecate wave getmarkers() method (#105098)
wave: Deprecate the getmark(), setmark() and getmarkers() methods of the Wave_read and Wave_write classes. They will be removed in Python 3.15.
This commit is contained in:
parent
58a2e09816
commit
03ad6624c2
|
@ -131,11 +131,19 @@ Wave_read Objects
|
||||||
|
|
||||||
Returns ``None``.
|
Returns ``None``.
|
||||||
|
|
||||||
|
.. deprecated-removed:: 3.13 3.15
|
||||||
|
The method only existed for compatibility with the :mod:`!aifc` module
|
||||||
|
which has been removed in Python 3.13.
|
||||||
|
|
||||||
|
|
||||||
.. method:: getmark(id)
|
.. method:: getmark(id)
|
||||||
|
|
||||||
Raise an error.
|
Raise an error.
|
||||||
|
|
||||||
|
.. deprecated-removed:: 3.13 3.15
|
||||||
|
The method only existed for compatibility with the :mod:`!aifc` module
|
||||||
|
which has been removed in Python 3.13.
|
||||||
|
|
||||||
The following two methods define a term "position" which is compatible between
|
The following two methods define a term "position" which is compatible between
|
||||||
them, and is otherwise implementation dependent.
|
them, and is otherwise implementation dependent.
|
||||||
|
|
||||||
|
|
|
@ -115,6 +115,10 @@ Optimizations
|
||||||
Deprecated
|
Deprecated
|
||||||
==========
|
==========
|
||||||
|
|
||||||
|
* :mod:`wave`: Deprecate the ``getmark()``, ``setmark()`` and ``getmarkers()``
|
||||||
|
methods of the :class:`wave.Wave_read` and :class:`wave.Wave_write` classes.
|
||||||
|
They will be removed in Python 3.15.
|
||||||
|
(Contributed by Victor Stinner in :gh:`105096`.)
|
||||||
|
|
||||||
|
|
||||||
Removed
|
Removed
|
||||||
|
|
|
@ -136,6 +136,32 @@ class MiscTestCase(unittest.TestCase):
|
||||||
not_exported = {'WAVE_FORMAT_PCM', 'WAVE_FORMAT_EXTENSIBLE', 'KSDATAFORMAT_SUBTYPE_PCM'}
|
not_exported = {'WAVE_FORMAT_PCM', 'WAVE_FORMAT_EXTENSIBLE', 'KSDATAFORMAT_SUBTYPE_PCM'}
|
||||||
support.check__all__(self, wave, not_exported=not_exported)
|
support.check__all__(self, wave, not_exported=not_exported)
|
||||||
|
|
||||||
|
def test_read_deprecations(self):
|
||||||
|
filename = support.findfile('pluck-pcm8.wav', subdir='audiodata')
|
||||||
|
with wave.open(filename) as reader:
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
with self.assertRaises(wave.Error):
|
||||||
|
reader.getmark('mark')
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
self.assertIsNone(reader.getmarkers())
|
||||||
|
|
||||||
|
def test_write_deprecations(self):
|
||||||
|
with io.BytesIO(b'') as tmpfile:
|
||||||
|
with wave.open(tmpfile, 'wb') as writer:
|
||||||
|
writer.setnchannels(1)
|
||||||
|
writer.setsampwidth(1)
|
||||||
|
writer.setframerate(1)
|
||||||
|
writer.setcomptype('NONE', 'not compressed')
|
||||||
|
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
with self.assertRaises(wave.Error):
|
||||||
|
writer.setmark(0, 0, 'mark')
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
with self.assertRaises(wave.Error):
|
||||||
|
writer.getmark('mark')
|
||||||
|
with self.assertWarns(DeprecationWarning):
|
||||||
|
self.assertIsNone(writer.getmarkers())
|
||||||
|
|
||||||
|
|
||||||
class WaveLowLevelTest(unittest.TestCase):
|
class WaveLowLevelTest(unittest.TestCase):
|
||||||
|
|
||||||
|
|
10
Lib/wave.py
10
Lib/wave.py
|
@ -342,9 +342,13 @@ class Wave_read:
|
||||||
self.getcomptype(), self.getcompname())
|
self.getcomptype(), self.getcompname())
|
||||||
|
|
||||||
def getmarkers(self):
|
def getmarkers(self):
|
||||||
|
import warnings
|
||||||
|
warnings._deprecated("Wave_read.getmarkers", remove=(3, 15))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def getmark(self, id):
|
def getmark(self, id):
|
||||||
|
import warnings
|
||||||
|
warnings._deprecated("Wave_read.getmark", remove=(3, 15))
|
||||||
raise Error('no marks')
|
raise Error('no marks')
|
||||||
|
|
||||||
def setpos(self, pos):
|
def setpos(self, pos):
|
||||||
|
@ -548,12 +552,18 @@ class Wave_write:
|
||||||
self._nframes, self._comptype, self._compname)
|
self._nframes, self._comptype, self._compname)
|
||||||
|
|
||||||
def setmark(self, id, pos, name):
|
def setmark(self, id, pos, name):
|
||||||
|
import warnings
|
||||||
|
warnings._deprecated("Wave_write.setmark", remove=(3, 15))
|
||||||
raise Error('setmark() not supported')
|
raise Error('setmark() not supported')
|
||||||
|
|
||||||
def getmark(self, id):
|
def getmark(self, id):
|
||||||
|
import warnings
|
||||||
|
warnings._deprecated("Wave_write.getmark", remove=(3, 15))
|
||||||
raise Error('no marks')
|
raise Error('no marks')
|
||||||
|
|
||||||
def getmarkers(self):
|
def getmarkers(self):
|
||||||
|
import warnings
|
||||||
|
warnings._deprecated("Wave_write.getmarkers", remove=(3, 15))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def tell(self):
|
def tell(self):
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
:mod:`wave`: Deprecate the ``getmark()``, ``setmark()`` and ``getmarkers()``
|
||||||
|
methods of the :class:`wave.Wave_read` and :class:`wave.Wave_write` classes.
|
||||||
|
They will be removed in Python 3.15. Patch by Victor Stinner.
|
Loading…
Reference in New Issue