diff options
author | R. David Murray <rdmurray@bitdance.com> | 2010-12-13 23:51:19 (GMT) |
---|---|---|
committer | R. David Murray <rdmurray@bitdance.com> | 2010-12-13 23:51:19 (GMT) |
commit | 7ec754b7da863c5b0c5ca212da8a2585db989bf8 (patch) | |
tree | b388a68e00b9ee639129033bc3983fbe94cb2a64 /Doc/library | |
parent | 796343b1988e3e47c9b400053f844c2bb0352d9a (diff) | |
download | cpython-7ec754b7da863c5b0c5ca212da8a2585db989bf8.zip cpython-7ec754b7da863c5b0c5ca212da8a2585db989bf8.tar.gz cpython-7ec754b7da863c5b0c5ca212da8a2585db989bf8.tar.bz2 |
#1078919: make add_header automatically do RFC2231 encoding when needed.
Also document the use of three-tuples if control of the charset
and language is desired.
Diffstat (limited to 'Doc/library')
-rw-r--r-- | Doc/library/email.message.rst | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/Doc/library/email.message.rst b/Doc/library/email.message.rst index 47c1fcd..386e11d 100644 --- a/Doc/library/email.message.rst +++ b/Doc/library/email.message.rst @@ -270,7 +270,15 @@ Here are the methods of the :class:`Message` class: taken as the parameter name, with underscores converted to dashes (since dashes are illegal in Python identifiers). Normally, the parameter will be added as ``key="value"`` unless the value is ``None``, in which case - only the key will be added. + only the key will be added. If the value contains non-ASCII characters, + it can be specified as a three tuple in the format + ``(CHARSET, LANGUAGE, VALUE)``, where ``CHARSET`` is a string naming the + charset to be used to encode the value, ``LANGUAGE`` can usually be set + to ``None`` or the empty string (see :RFC:`2231` for other possibilities), + and ``VALUE`` is the string value containing non-ASCII code points. If + a three tuple is not passed and the value contains non-ASCII characters, + it is automatically encoded in :RFC`2231` format using a ``CHARSET`` + of ``utf-8`` and a ``LANGUAGE`` of ``None``. Here's an example:: @@ -280,6 +288,15 @@ Here are the methods of the :class:`Message` class: Content-Disposition: attachment; filename="bud.gif" + An example with with non-ASCII characters:: + + msg.add_header('Content-Disposition', 'attachment', + filename=('iso-8859-1', '', 'Fußballer.ppt')) + + Which produces :: + + Content-Disposition: attachment; filename*="iso-8859-1''Fu%DFballer.ppt" + .. method:: replace_header(_name, _value) @@ -369,7 +386,7 @@ Here are the methods of the :class:`Message` class: :rfc:`2231`, you can collapse the parameter value by calling :func:`email.utils.collapse_rfc2231_value`, passing in the return value from :meth:`get_param`. This will return a suitably decoded Unicode - string whn the value is a tuple, or the original string unquoted if it + string when the value is a tuple, or the original string unquoted if it isn't. For example:: rawparam = msg.get_param('foo') |