diff --git a/Doc/library/mailcap.rst b/Doc/library/mailcap.rst index 7749b7dd45ef44..416b181f45a772 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 8955e859ab634c..1541e2a5444590 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 e3f9b0d37fe10b..b38f16691f6ea9 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 8f0d3c7c7099a3..d57036d4d425c7 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` @@ -1070,7 +1071,8 @@ Deprecated * :mod:`spwd` * :mod:`sunau` - (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 ae416a8e9fb273..856b6a55475f38 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 ef9cad498a75c2..97a8fac6e074ad 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 00000000000000..5c9ffbf09f0059 --- /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.