From: R David Murray Date: Wed, 16 May 2012 02:07:52 +0000 (-0400) Subject: #1440472: Explain that email parser/generator isn't *quite* "idempotent" X-Git-Tag: v3.3.0a4~151^2~5 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ea1badbfef340c63d4f821662c887e46ed62a6ec;p=python #1440472: Explain that email parser/generator isn't *quite* "idempotent" --- diff --git a/Doc/library/email.generator.rst b/Doc/library/email.generator.rst index 85b32fe7fe..033dcf1c48 100644 --- a/Doc/library/email.generator.rst +++ b/Doc/library/email.generator.rst @@ -17,7 +17,8 @@ yourself. However the bundled generator knows how to generate most email in a standards-compliant way, should handle MIME and non-MIME email messages just fine, and is designed so that the transformation from flat text, to a message structure via the :class:`~email.parser.Parser` class, and back to flat text, -is idempotent (the input is identical to the output). On the other hand, using +is idempotent (the input is identical to the output) [#]_. On the other hand, +using the Generator on a :class:`~email.message.Message` constructed by program may result in changes to the :class:`~email.message.Message` object as defaults are filled in. @@ -204,3 +205,12 @@ representing the part. The default value for *fmt* is ``None``, meaning :: [Non-text (%(type)s) part of message omitted, filename %(filename)s] + + +.. rubric:: Footnotes + +.. [#] This statement assumes that you use the appropriate setting for the + ``unixfrom`` argument, and that you set maxheaderlen=0 (which will + preserve whatever the input line lengths were). It is also not strictly + true, since in many cases runs of whitespace in headers are collapsed + into single blanks. The latter is a bug that will eventually be fixed.