[Email-SIG] I don't understand why this fails: mbox to maildir based on docs
Joseph Reagle
joseph.2011 at reagle.org
Sat Feb 25 00:19:37 CET 2012
I'm trying to do something real simple. Replicate an example in the docs for moving messages from maildir to mbox. (Docs use Babyl mailbox to an MH mailbox). But I'm failing and I don't know why?!?
<http://paste.pound-python.org/show/16992/>
~~~~
def convert_maildir(path):
"""Convert a maildir to mbox.
Replicates http://docs.python.org/py3k/library/mailbox.html#examples for maildir2mbox"""
info("converting %s" %path)
destination = mailbox.mbox('~/inbox.mbox')
destination.lock()
for message in mailbox.Maildir(path):
info("message type = %s" %type(message))
destination.add(mailbox.MaildirMessage(message))
destination.close()
20 <modu: Namespace(files=['Mail/inbox/'], log_to_file=False, verbose=2)
20 find_: filename = Mail/inbox/
20 find_: appending Mail/inbox/
20 conve: converting /home/reagle/Mail/inbox
20 conve: message type = <class 'mailbox.MaildirMessage'>
Traceback (most recent call last):
File "/home/reagle/bin/kmail2mbox.py", line 75, in <module>
convert_maildir(maildir)
File "/home/reagle/bin/kmail2mbox.py", line 43, in convert_maildir
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 141, in _write
self._write_headers(msg)
File "/usr/lib/python3.2/email/generator.py", line 373, in _write_headers
self.write(header.encode(linesep=self._NL)+self._NL)
File "/usr/lib/python3.2/email/header.py", line 317, in encode
formatter.feed(lines[0], charset)
IndexError: list index out of range
~~~~
More information about the Email-SIG
mailing list