Message210396
This was an intentional change, but I'm having second thoughts about it. I think I need to make it a deprecation warning in 3.4.
Note that it doesn't actually do anything useful in 3.3:
Python 3.3.2 (default, Dec 9 2013, 11:44:21)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import email.parser
>>> meta = """
... Header: ☃
... """
>>> m = email.parser.Parser().parsestr(meta)
>>> str(m)
'\nHeader: ☃\n'
>>> import email.generator
>>> import io
>>> s = io.BytesIO()
>>> g = email.generator.BytesGenerator(s)
>>> g.flatten(m)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.3/email/generator.py", line 112, in flatten
self._write(msg)
File "/usr/lib/python3.3/email/generator.py", line 177, in _write
self._dispatch(msg)
File "/usr/lib/python3.3/email/generator.py", line 203, in _dispatch
meth(msg)
File "/usr/lib/python3.3/email/generator.py", line 421, in _handle_text
super(BytesGenerator,self)._handle_text(msg)
File "/usr/lib/python3.3/email/generator.py", line 233, in _handle_text
self._write_lines(payload)
File "/usr/lib/python3.3/email/generator.py", line 158, in _write_lines
self.write(laststripped)
File "/usr/lib/python3.3/email/generator.py", line 395, in write
self._fp.write(s.encode('ascii', 'surrogateescape'))
UnicodeEncodeError: 'ascii' codec can't encode character '\u2603' in position 8: ordinal not in range(128)
That is, if you pretend the message is a string, it will happily output
it as a string, including perhaps your writing the output to a file as
utf-8...but it will *NOT* be a valid email message, since it will have
non-ascii data in it with no specified CTE. |
|
Date |
User |
Action |
Args |
2014-02-06 14:56:53 | r.david.murray | set | recipients:
+ r.david.murray, barry, jaraco |
2014-02-06 14:56:53 | r.david.murray | set | messageid: <1391698613.23.0.183457720605.issue20531@psf.upfronthosting.co.za> |
2014-02-06 14:56:53 | r.david.murray | link | issue20531 messages |
2014-02-06 14:56:52 | r.david.murray | create | |
|