summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorR David Murray <rdmurray@bitdance.com>2012-05-16 02:07:52 (GMT)
committerR David Murray <rdmurray@bitdance.com>2012-05-16 02:07:52 (GMT)
commitea1badbfef340c63d4f821662c887e46ed62a6ec (patch)
tree8cec957ac5ea41348491d84bf247d1d5c5adb208
parent4d377d98a1b4ab115bcd816553600e603e388831 (diff)
downloadcpython-ea1badbfef340c63d4f821662c887e46ed62a6ec.zip
cpython-ea1badbfef340c63d4f821662c887e46ed62a6ec.tar.gz
cpython-ea1badbfef340c63d4f821662c887e46ed62a6ec.tar.bz2
#1440472: Explain that email parser/generator isn't *quite* "idempotent"
-rw-r--r--Doc/library/email.generator.rst12
1 files changed, 11 insertions, 1 deletions
diff --git a/Doc/library/email.generator.rst b/Doc/library/email.generator.rst
index 85b32fe..033dcf1 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.