gagsl-py2 at yahoo.com.ar
Fri Jul 13 03:19:48 CEST 2007
En Thu, 12 Jul 2007 21:46:32 -0300, Tzury <Afro.Systems at gmail.com>
> I am getting the following error when trying to iterate in a message
> in a Maildir directory.
> please help.
>>>> from mailbox import Maildir, MaildirMessage
>>>> mbox = Maildir('path/to/mailbox', create = False, factory =
>>>> for msg in mbox:
> ... for m in msg:
> ... print m
> Traceback (most recent call last):
> File "<stdin>", line 2, in <module>
> File "email/message.py", line 286, in __getitem__
> File "email/message.py", line 352, in get
> AttributeError: 'int' object has no attribute 'lower'
msg is an instance of MaildirMessage (subclass of Message) - it has no
specific iterator, so "for m in msg" tries to use the sequence protocol,
starting at 0; that is, tries to get msg. Message objects support the
mapping protocol, and msg tries to find a *header* 0, converting the
name 0 to lowercase, and fails miserably.
for msg in mbox:
or read the MaildirMessage (and Message) docs to see the ways you can
More information about the Python-list