Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
86cc82e3
Commit
86cc82e3
authored
Mar 29, 2011
by
R David Murray
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove the 'strict' argument to Parser, deprecated since 2.4.
parent
1ebdd714
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
8 additions
and
30 deletions
+8
-30
Doc/library/email.parser.rst
Doc/library/email.parser.rst
+3
-8
Lib/email/parser.py
Lib/email/parser.py
+2
-22
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Doc/library/email.parser.rst
View file @
86cc82e3
...
...
@@ -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:
...
...
Lib/email/parser.py
View file @
86cc82e3
...
...
@@ -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.
...
...
Misc/NEWS
View file @
86cc82e3
...
...
@@ -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
.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment