[Email-SIG] encoding error in email/generator.py
Joseph Reagle
joseph.2011 at reagle.org
Mon Feb 27 19:45:25 CET 2012
Hi Barry, I'm trying to do something real simple and already bumped into a bug in header.py, now I'm getting an error in generator.py . I can send the message (off list) if needed.
def convert_maildir_using_lib(path):
"""Convert a maildir to mbox.
Replicates http://docs.python.org/py3k/library/mailbox.html#examples for maildir2mbox
header.py must be patched first http://bugs.python.org/issue11401"""
info("converting %s" %path)
dest_path = basename(path)
destination = mailbox.mbox(dest_path)
destination.lock()
for message in mailbox.Maildir(path):
info("message subject = %s" %message['subject'])
destination.add(mailbox.MaildirMessage(message))
destination.close()
20 conve: message subject = Re: SPAM-LOW: Re: Catchin' up
Traceback (most recent call last):
File "bin/kmail2mbox.py", line 95, in <module>
convert_maildir(maildir)
File "bin/kmail2mbox.py", line 47, in convert_maildir_using_lib
destination.add(mailbox.MaildirMessage(message))
File "/usr/lib/python3.2/mailbox.py", line 595, in add
self._toc[self._next_key] = self._append_message(message)
File "/usr/lib/python3.2/mailbox.py", line 733, in _append_message
offsets = self._install_message(message)
File "/usr/lib/python3.2/mailbox.py", line 805, in _install_message
self._dump_message(message, self._file, self._mangle_from_)
File "/usr/lib/python3.2/mailbox.py", line 215, in _dump_message
gen.flatten(message)
File "/usr/lib/python3.2/email/generator.py", line 88, in flatten
self._write(msg)
File "/usr/lib/python3.2/email/generator.py", line 134, in _write
self._dispatch(msg)
File "/usr/lib/python3.2/email/generator.py", line 160, in _dispatch
meth(msg)
File "/usr/lib/python3.2/email/generator.py", line 221, in _handle_multipart
g.flatten(part, unixfrom=False, linesep=self._NL)
File "/usr/lib/python3.2/email/generator.py", line 88, in flatten
self._write(msg)
File "/usr/lib/python3.2/email/generator.py", line 134, in _write
self._dispatch(msg)
File "/usr/lib/python3.2/email/generator.py", line 160, in _dispatch
meth(msg)
File "/usr/lib/python3.2/email/generator.py", line 385, in _handle_text
super(BytesGenerator,self)._handle_text(msg)
File "/usr/lib/python3.2/email/generator.py", line 198, in _handle_text
self.write(payload)
File "/usr/lib/python3.2/email/generator.py", line 346, in write
self._fp.write(s.encode('ascii', 'surrogateescape'))
UnicodeEncodeError: 'ascii' codec can't encode character '\xa0' in position 211: ordinal not in range(128)
More information about the Email-SIG
mailing list