Add policy keyword to email.generator.DecodedGenerator.

This commit is contained in:
R David Murray 2016-09-08 17:57:06 -04:00
parent 4c483ad52b
commit 301edfa579
4 changed files with 13 additions and 5 deletions

View file

@ -234,7 +234,8 @@ except that non-\ :mimetype:`text` parts are not serialized, but are instead
represented in the output stream by a string derived from a template filled represented in the output stream by a string derived from a template filled
in with information about the part. in with information about the part.
.. class:: DecodedGenerator(outfp, mangle_from_=None, maxheaderlen=78, fmt=None) .. class:: DecodedGenerator(outfp, mangle_from_=None, maxheaderlen=None, \
fmt=None, *, policy=None)
Act like :class:`Generator`, except that for any subpart of the message Act like :class:`Generator`, except that for any subpart of the message
passed to :meth:`Generator.flatten`, if the subpart is of main type passed to :meth:`Generator.flatten`, if the subpart is of main type
@ -263,8 +264,7 @@ in with information about the part.
"[Non-text (%(type)s) part of message omitted, filename %(filename)s]" "[Non-text (%(type)s) part of message omitted, filename %(filename)s]"
Optional *_mangle_from_* and *maxheaderlen* are as with the Optional *_mangle_from_* and *maxheaderlen* are as with the
:class:`Generator` base class, except that the default value for :class:`Generator` base class.
*maxheaderlen* is ``78`` (the RFC standard default header length).
.. rubric:: Footnotes .. rubric:: Footnotes

View file

@ -531,6 +531,9 @@ the legacy API. (Contributed by R. David Murray in :issue:`24277`.)
The :mod:`email.mime` classes now all accept an optional *policy* keyword. The :mod:`email.mime` classes now all accept an optional *policy* keyword.
(Contributed by Berker Peksag in :issue:`27331`.) (Contributed by Berker Peksag in :issue:`27331`.)
The :class:`~email.generator.DecodedGenerator` now supports the *policy*
keyword.
encodings encodings
--------- ---------
@ -538,6 +541,7 @@ encodings
On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP`` and the ``'ansi'`` On Windows, added the ``'oem'`` encoding to use ``CP_OEMCP`` and the ``'ansi'``
alias for the existing ``'mbcs'`` encoding, which uses the ``CP_ACP`` code page. alias for the existing ``'mbcs'`` encoding, which uses the ``CP_ACP`` code page.
faulthandler faulthandler
------------ ------------

View file

@ -452,7 +452,8 @@ class DecodedGenerator(Generator):
Like the Generator base class, except that non-text parts are substituted Like the Generator base class, except that non-text parts are substituted
with a format string representing the part. with a format string representing the part.
""" """
def __init__(self, outfp, mangle_from_=None, maxheaderlen=78, fmt=None): def __init__(self, outfp, mangle_from_=None, maxheaderlen=None, fmt=None, *,
policy=None):
"""Like Generator.__init__() except that an additional optional """Like Generator.__init__() except that an additional optional
argument is allowed. argument is allowed.
@ -474,7 +475,8 @@ class DecodedGenerator(Generator):
[Non-text (%(type)s) part of message omitted, filename %(filename)s] [Non-text (%(type)s) part of message omitted, filename %(filename)s]
""" """
Generator.__init__(self, outfp, mangle_from_, maxheaderlen) Generator.__init__(self, outfp, mangle_from_, maxheaderlen,
policy=policy)
if fmt is None: if fmt is None:
self._fmt = _FMT self._fmt = _FMT
else: else:

View file

@ -103,6 +103,8 @@ Core and Builtins
Library Library
------- -------
- email.generator.DecodedGenerator now supports the policy keyword.
- Issue #28027: Remove undocumented modules from ``Lib/plat-*``: IN, CDROM, - Issue #28027: Remove undocumented modules from ``Lib/plat-*``: IN, CDROM,
DLFCN, TYPES, CDIO, and STROPTS. DLFCN, TYPES, CDIO, and STROPTS.