From 1e8fba729e218bc4b2e1ed3104f8cdbd88fdb21a Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 18 Jul 2008 19:30:22 +0000 Subject: [PATCH] Deprecate the sunaudio module for removal in Python 3.0. The sunau module can provide similar functionality. --- Doc/library/undoc.rst | 2 ++ Lib/sunaudio.py | 5 +++++ Lib/test/test_ossaudiodev.py | 17 +++++++++-------- Lib/test/test_py3kwarn.py | 5 +++-- Misc/NEWS | 2 ++ 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/Doc/library/undoc.rst b/Doc/library/undoc.rst index a1b4b259d04..09c61d267c8 100644 --- a/Doc/library/undoc.rst +++ b/Doc/library/undoc.rst @@ -60,6 +60,8 @@ Multimedia :mod:`sunaudio` --- Interpret Sun audio headers (may become obsolete or a tool/demo). + .. warning:: The :mod:`sunaudio` module has been removed in Python 3.0. + :mod:`toaiff` --- Convert "arbitrary" sound files to AIFF files; should probably become a tool or demo. Requires the external program :program:`sox`. diff --git a/Lib/sunaudio.py b/Lib/sunaudio.py index 3b0ee2793c1..97d7332c485 100644 --- a/Lib/sunaudio.py +++ b/Lib/sunaudio.py @@ -1,4 +1,9 @@ """Interpret sun audio headers.""" +from warnings import warnpy3k +warnpy3k("the sunaudio module has been removed in Python 3.0; " + "use the sunau module instead", stacklevel=2) +del warnpy3k + MAGIC = '.snd' diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py index f2ce67bad79..eb4dd028905 100644 --- a/Lib/test/test_ossaudiodev.py +++ b/Lib/test/test_ossaudiodev.py @@ -6,7 +6,7 @@ from test.test_support import findfile, TestSkipped import errno import ossaudiodev import sys -import sunaudio +import sunau import time import audioop import unittest @@ -22,15 +22,16 @@ except ImportError: AFMT_S16_NE = ossaudiodev.AFMT_S16_BE -SND_FORMAT_MULAW_8 = 1 - def read_sound_file(path): - fp = open(path, 'rb') - size, enc, rate, nchannels, extra = sunaudio.gethdr(fp) - data = fp.read() - fp.close() + with open(path, 'rb') as fp: + au = sunau.open(fp) + rate = au.getframerate() + nchannels = au.getnchannels() + encoding = au._encoding + fp.seek(0) + data = fp.read() - if enc != SND_FORMAT_MULAW_8: + if encoding != sunau.AUDIO_FILE_ENCODING_MULAW_8: raise RuntimeError("Expect .au file with 8-bit mu-law samples") # Convert the data to 16-bit signed. diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py index 0ddc9796346..67b2538f01a 100644 --- a/Lib/test/test_py3kwarn.py +++ b/Lib/test/test_py3kwarn.py @@ -173,8 +173,9 @@ class TestStdlibRemovals(unittest.TestCase): # test.testall not tested as it executes all unit tests as an # import side-effect. all_platforms = ('audiodev', 'imputil', 'mutex', 'user', 'new', 'rexec', - 'Bastion', 'compiler', 'dircache', 'mimetools', 'fpformat', - 'ihooks', 'mhlib', 'statvfs', 'htmllib', 'sgmllib', 'rfc822') + 'Bastion', 'compiler', 'dircache', 'mimetools', + 'fpformat', 'ihooks', 'mhlib', 'statvfs', 'htmllib', + 'sgmllib', 'rfc822', 'sunaudio') inclusive_platforms = {'irix' : ('pure', 'AL', 'al', 'CD', 'cd', 'cddb', 'cdplayer', 'CL', 'cl', 'DEVICE', 'GL', 'gl', 'ERRNO', 'FILE', 'FL', 'flp', 'fl', diff --git a/Misc/NEWS b/Misc/NEWS index 853df55fc6a..1ec76951435 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -70,6 +70,8 @@ Library - Issue #3389: Allow resolving dotted names for handlers in logging configuration files. +- Deprecate the sunaudio module for removal in Python 3.0. + - Issue #3395: fix reference in test_multiprocessing to old debugInfo method - Issue #3312: Fix two crashes in sqlite3.