Commit 86cc82e3 authored by R David Murray's avatar R David Murray

Remove the 'strict' argument to Parser, deprecated since 2.4.

parent 1ebdd714
......@@ -102,7 +102,7 @@ as a string. :class:`HeaderParser` has the same API as the :class:`Parser`
class.
.. class:: Parser(_class=email.message.Message, strict=None)
.. class:: Parser(_class=email.message.Message)
The constructor for the :class:`Parser` class takes an optional argument
*_class*. This must be a callable factory (such as a function or a class), and
......@@ -110,13 +110,8 @@ class.
:class:`~email.message.Message` (see :mod:`email.message`). The factory will
be called without arguments.
The optional *strict* flag is ignored.
.. deprecated:: 2.4
Because the :class:`Parser` class is a backward compatible API wrapper
around the new-in-Python 2.4 :class:`FeedParser`, *all* parsing is
effectively non-strict. You should simply stop passing a *strict* flag to
the :class:`Parser` constructor.
.. versionchanged:: 3.2
Removed the *strict* argument that was deprecated in 2.4.
The other public :class:`Parser` methods are:
......
......@@ -15,7 +15,7 @@ from email.message import Message
class Parser:
def __init__(self, *args, **kws):
def __init__(self, _class=Message):
"""Parser of RFC 2822 and MIME email messages.
Creates an in-memory object tree representing the email message, which
......@@ -31,27 +31,7 @@ class Parser:
must be created. This class must have a constructor that can take
zero arguments. Default is Message.Message.
"""
if len(args) >= 1:
if '_class' in kws:
raise TypeError("Multiple values for keyword arg '_class'")
kws['_class'] = args[0]
if len(args) == 2:
if 'strict' in kws:
raise TypeError("Multiple values for keyword arg 'strict'")
kws['strict'] = args[1]
if len(args) > 2:
raise TypeError('Too many arguments')
if '_class' in kws:
self._class = kws['_class']
del kws['_class']
else:
self._class = Message
if 'strict' in kws:
warnings.warn("'strict' argument is deprecated (and ignored)",
DeprecationWarning, 2)
del kws['strict']
if kws:
raise TypeError('Unexpected keyword arguments')
self._class = _class
def parse(self, fp, headersonly=False):
"""Create a message structure from the data in a file.
......
......@@ -87,6 +87,9 @@ Core and Builtins
Library
-------
- Removed the 'strict' argument to email.parser.Parser, which has been
deprecated since Python 2.4.
- Issue #11256: Fix inspect.getcallargs on functions that take only keyword
arguments.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment