summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2011-03-15 21:43:21 (GMT)
committerR David Murray <rdmurray@bitdance.com>2011-03-15 21:43:21 (GMT)
commit31f218bc6b22e2b360087323e79acef7c1c32537 (patch)
tree991bb5daee9746202c51dca7c6edfc695ae0513d /Doc
parentb637680f7e4e23c59c12dd5f95c78b75a51e75f4 (diff)
parent729c5e203da8adc06acddaa3e7ea472d9c255774 (diff)
downloadcpython-31f218bc6b22e2b360087323e79acef7c1c32537.zip
cpython-31f218bc6b22e2b360087323e79acef7c1c32537.tar.gz
cpython-31f218bc6b22e2b360087323e79acef7c1c32537.tar.bz2
Merge #11216: document all possible set_charset execution paths.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/email.message.rst25
1 files changed, 16 insertions, 9 deletions
diff --git a/Doc/library/email.message.rst b/Doc/library/email.message.rst
index ebe2d9c..1e6a485 100644
--- a/Doc/library/email.message.rst
+++ b/Doc/library/email.message.rst
@@ -139,15 +139,22 @@ Here are the methods of the :class:`Message` class:
string naming a character set, or ``None``. If it is a string, it will
be converted to a :class:`~email.charset.Charset` instance. If *charset*
is ``None``, the ``charset`` parameter will be removed from the
- :mailheader:`Content-Type` header. Anything else will generate a
- :exc:`TypeError`.
-
- The message will be assumed to be of type :mimetype:`text/\*` encoded with
- *charset.input_charset*. It will be converted to *charset.output_charset*
- and encoded properly, if needed, when generating the plain text
- representation of the message. MIME headers (:mailheader:`MIME-Version`,
- :mailheader:`Content-Type`, :mailheader:`Content-Transfer-Encoding`) will
- be added as needed.
+ :mailheader:`Content-Type` header (the message will not be otherwise
+ modified). Anything else will generate a :exc:`TypeError`.
+
+ If there is no existing :mailheader:`MIME-Version` header one will be
+ added. If there is no existing :mailheader:`Content-Type` header, one
+ will be added with a value of :mimetype:`text/plain`. Whether the
+ :mailheader:`Content-Type` header already exists or not, its ``charset``
+ parameter will be set to *charset.output_charset*. If
+ *charset.input_charset* and *charset.output_charset* differ, the payload
+ will be re-encoded to the *output_charset*. If there is no existing
+ :mailheader:`Content-Transfer-Encoding` header, then the payload will be
+ transfer-encoded, if needed, using the specified
+ :class:`~email.charset.Charset`, and a header with the appropriate value
+ will be added. If a :mailheader:`Content-Transfer-Encoding` header
+ already exists, the payload is assumed to already be correctly encoded
+ using that :mailheader:`Content-Transfer-Encoding` and is not modified.
.. method:: get_charset()