-
-
Notifications
You must be signed in to change notification settings - Fork 31.9k
gh-104773: PEP 594: Remove the sndhdr module #104774
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I ignored mentions of the sndhdr module in comments of the email module, Lib/email/mime/audio.py: # Originally from the sndhdr module.
#
# There are others in sndhdr that don't have MIME types. :(
# Additional ones to be added to sndhdr? midi, mp3, realaudio, wma??
def _what(data):
# Try to identify a sound file type.
#
# sndhdr.what() had a pretty cruddy interface, unfortunately. This is why
# we re-do it here. It would be easier to reverse engineer the Unix 'file'
# command and use the standard 'magic' file, as shipped with a modern Unix.
hdr = data[:512]
fakefile = BytesIO(hdr)
for testfn in _rules:
if res := testfn(hdr, fakefile):
return res
else:
return None |
Fix the Docs CI: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please could you also update the refs in 3.11.rst?
For example with an exclamation mark:
* :pep:`594` led to the deprecations of the following modules
slated for removal in Python 3.13:
+---------------------+---------------------+---------------------+---------------------+---------------------+
| :mod:`aifc` | :mod:`chunk` | :mod:`msilib` | :mod:`pipes` | :mod:`telnetlib` |
+---------------------+---------------------+---------------------+---------------------+---------------------+
| :mod:`audioop` | :mod:`crypt` | :mod:`nis` | :mod:`!sndhdr` | :mod:`uu` |
+---------------------+---------------------+---------------------+---------------------+---------------------+
| :mod:`cgi` | :mod:`imghdr` | :mod:`nntplib` | :mod:`spwd` | :mod:`xdrlib` |
+---------------------+---------------------+---------------------+---------------------+---------------------+
| :mod:`cgitb` | :mod:`mailcap` | :mod:`ossaudiodev` | :mod:`sunau` | |
+---------------------+---------------------+---------------------+---------------------+---------------------+
You could do them all in a single commit/PR, to avoid lots of conflicts later.
And:
diff --git a/Doc/whatsnew/3.5.rst b/Doc/whatsnew/3.5.rst
index 14b6425cea..a1b6e18950 100644
--- a/Doc/whatsnew/3.5.rst
+++ b/Doc/whatsnew/3.5.rst
@@ -1714,7 +1714,7 @@ support :rfc:`6531` (SMTPUTF8).
sndhdr
------
-The :func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return
+The ``what`` and ``whathdr`` functions now return
a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in
:issue:`18615`.)
Misc/NEWS.d/next/Library/2023-05-23-01-37-40.gh-issue-104773.8c-GsG.rst
Outdated
Show resolved
Hide resolved
Remove the Lib/test/sndhdrdata/ directory.
I updated the doc: I added PEP 594 and replaced |
Remove the Lib/test/sndhdrdata/ directory.
📚 Documentation preview 📚: https://cpython-previews--104774.org.readthedocs.build/