#18600: In 3.3, as_string does not accept a policy keyword.

Also, document the policy keyword that was added to Message in 3.3.
This commit is contained in:
R David Murray 2013-08-09 16:17:00 -04:00
parent 2532635fcd
commit fb1a7bc907
2 changed files with 8 additions and 12 deletions

View File

@ -31,9 +31,15 @@ parameters, and for recursively walking over the object tree.
Here are the methods of the :class:`Message` class:
.. class:: Message()
.. class:: Message(policy=compat32)
The constructor takes no arguments.
The *policy* argument determiens the :mod:`~email.policy` that will be used
to update the message model. The default value, :class:`compat32
<email.policy.Compat32>` maintains backward compatibility with the
Python 3.2 version of the email package. For more information see the
:mod:`~email.policy` documentation.
.. versionchanged:: 3.3 The *policy* keyword argument was added.
.. method:: as_string(unixfrom=False, maxheaderlen=0)

View File

@ -97,16 +97,6 @@ correct line separator characters when creating the binary string to feed into
``sendmail's`` ``stdin``, where the default policy would use ``\n`` line
separators.
Some email package methods accept a *policy* keyword argument, allowing the
policy to be overridden for that method. For example, the following code uses
the :meth:`~email.message.Message.as_string` method of the *msg* object from
the previous example and writes the message to a file using the native line
separators for the platform on which it is running::
>>> import os
>>> with open('converted.txt', 'wb') as f:
... f.write(msg.as_string(policy=msg.policy.clone(linesep=os.linesep)))
Policy objects can also be combined using the addition operator, producing a
policy object whose settings are a combination of the non-default values of the
summed objects::