[Python-checkins] gh-68966: Deprecate the mailcap module (#91951)
vstinner
webhook-mailer at python.org
Tue Apr 26 16:44:01 EDT 2022
https://github.com/python/cpython/commit/80de0273c0caf8bae19787bb00255eb3fb2a2d0c
commit: 80de0273c0caf8bae19787bb00255eb3fb2a2d0c
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2022-04-26T22:43:50+02:00
summary:
gh-68966: Deprecate the mailcap module (#91951)
files:
A Misc/NEWS.d/next/Library/2022-04-26-09-09-07.gh-issue-68966.roapI2.rst
M Doc/library/mailcap.rst
M Doc/library/netdata.rst
M Doc/library/superseded.rst
M Doc/whatsnew/3.11.rst
M Lib/mailcap.py
M Lib/test/test_mailcap.py
diff --git a/Doc/library/mailcap.rst b/Doc/library/mailcap.rst
index 7749b7dd45ef4..416b181f45a77 100644
--- a/Doc/library/mailcap.rst
+++ b/Doc/library/mailcap.rst
@@ -3,9 +3,14 @@
.. module:: mailcap
:synopsis: Mailcap file handling.
+ :deprecated:
**Source code:** :source:`Lib/mailcap.py`
+.. deprecated:: 3.11
+ The :mod:`mailcap` module is deprecated. See :pep:`594` for the rationale
+ and the :mod:`mimetypes` module for an alternative.
+
--------------
Mailcap files are used to configure how MIME-aware applications such as mail
diff --git a/Doc/library/netdata.rst b/Doc/library/netdata.rst
index 8955e859ab634..1541e2a544459 100644
--- a/Doc/library/netdata.rst
+++ b/Doc/library/netdata.rst
@@ -13,7 +13,6 @@ on the internet.
email.rst
json.rst
- mailcap.rst
mailbox.rst
mimetypes.rst
base64.rst
diff --git a/Doc/library/superseded.rst b/Doc/library/superseded.rst
index e3f9b0d37fe10..b38f16691f6ea 100644
--- a/Doc/library/superseded.rst
+++ b/Doc/library/superseded.rst
@@ -20,9 +20,10 @@ backwards compatibility. They have been superseded by other modules.
crypt.rst
imghdr.rst
imp.rst
+ mailcap.rst
msilib.rst
- nntplib.rst
nis.rst
+ nntplib.rst
optparse.rst
ossaudiodev.rst
pipes.rst
diff --git a/Doc/whatsnew/3.11.rst b/Doc/whatsnew/3.11.rst
index b812658d5e91e..aa0a51b4375f1 100644
--- a/Doc/whatsnew/3.11.rst
+++ b/Doc/whatsnew/3.11.rst
@@ -1061,6 +1061,7 @@ Deprecated
* :mod:`chunk`
* :mod:`crypt`
* :mod:`imghdr`
+ * :mod:`mailcap`
* :mod:`msilib`
* :mod:`nis`
* :mod:`nntplib`
@@ -1071,7 +1072,8 @@ Deprecated
* :mod:`sunau`
* :mod:`telnetlib`
- (Contributed by Brett Cannon in :issue:`47061`.)
+ (Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in
+ :gh:`68966`.)
Removed
diff --git a/Lib/mailcap.py b/Lib/mailcap.py
index ae416a8e9fb27..856b6a55475f3 100644
--- a/Lib/mailcap.py
+++ b/Lib/mailcap.py
@@ -6,6 +6,12 @@
__all__ = ["getcaps","findmatch"]
+_DEPRECATION_MSG = ('The {name} module is deprecated and will be removed in '
+ 'Python {remove}. See the mimetypes module for an '
+ 'alternative.')
+warnings._deprecated(__name__, _DEPRECATION_MSG, remove=(3, 13))
+
+
def lineno_sort_key(entry):
# Sort in ascending order, with unspecified entries at the end
if 'lineno' in entry:
diff --git a/Lib/test/test_mailcap.py b/Lib/test/test_mailcap.py
index ef9cad498a75c..97a8fac6e074a 100644
--- a/Lib/test/test_mailcap.py
+++ b/Lib/test/test_mailcap.py
@@ -1,10 +1,15 @@
-import mailcap
-import os
import copy
+import os
+import sys
import test.support
-from test.support import os_helper
import unittest
-import sys
+import warnings
+from test.support import os_helper
+from test.support import warnings_helper
+
+
+mailcap = warnings_helper.import_deprecated('mailcap')
+
# Location of mailcap file
MAILCAPFILE = test.support.findfile("mailcap.txt")
diff --git a/Misc/NEWS.d/next/Library/2022-04-26-09-09-07.gh-issue-68966.roapI2.rst b/Misc/NEWS.d/next/Library/2022-04-26-09-09-07.gh-issue-68966.roapI2.rst
new file mode 100644
index 0000000000000..5c9ffbf09f005
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-04-26-09-09-07.gh-issue-68966.roapI2.rst
@@ -0,0 +1,3 @@
+The :mod:`mailcap` module is now deprecated and will be removed in Python 3.13.
+See :pep:`594` for the rationale and the :mod:`mimetypes` module for an
+alternative. Patch by Victor Stinner.
More information about the Python-checkins
mailing list