On 2006-11-28, Leo Kislov <[EMAIL PROTECTED]> wrote: > > Antoon Pardon wrote: >> This little program gives IMO a strange result. >> >> import imaplib >> >> user = "cpapen" >> >> cyr = imaplib.IMAP4("imap.vub.ac.be") >> cyr.login("cyrus", "cOn-A1r") >> rc, lst = cyr.list('""', "user/%s/*" % user) >> for el in lst: >> print "%r" % (el,) >> >> And the result is: >> >> '(\\HasNoChildren) "/" "user/cpapen/Out"' >> '(\\HasNoChildren) "/" "user/cpapen/Punten"' >> '(\\HasNoChildren) "/" "user/cpapen/Spam"' >> '(\\HasNoChildren) "/" "user/cpapen/agoog to be"' >> '(\\HasNoChildren) "/" "user/cpapen/artistiek &- kunst"' >> '(\\HasNoChildren) "/" "user/cpapen/copains et copinnes =x="' >> '(\\HasNoChildren) "/" "user/cpapen/cp &- writing"' >> '(\\HasNoChildren) "/" "user/cpapen/examen"' >> '(\\HasNoChildren) "/" "user/cpapen/important info (pass)"' >> '(\\HasNoChildren) "/" "user/cpapen/lesmateriaal"' >> '(\\HasNoChildren) "/" "user/cpapen/love &- flesh for fantasy"' >> '(\\HasNoChildren) "/" "user/cpapen/media"' >> '(\\HasNoChildren) "/" "user/cpapen/music &- beats"' >> ('(\\HasNoChildren) "/" {25}', 'user/cpapen/newsletters %') >> '' >> '(\\HasNoChildren) "/" "user/cpapen/organisatie &- structuur"' >> '(\\HasNoChildren) "/" "user/cpapen/sociale wetenschappen"' >> '(\\HasNoChildren) "/" "user/cpapen/the closest ones to me [x]"' >> '(\\HasNoChildren) "/" "user/cpapen/vubrations"' >> '(\\HasNoChildren) "/" "user/cpapen/wm2addressbook"' >> '(\\HasNoChildren) "/" "user/cpapen/wm2prefs"' >> '(\\HasNoChildren) "/" "user/cpapen/wm2signature"' >> >> >> What I have a problem with is the 14th and 15th line. >> All other entries are strings but the 14th is a tuple. >> and the 15th is an empty string. As far as I can tell >> every time a "%" is in the mailbox name I get this kind of >> result. >> >> I'm using python 2.3.3 and the imap sytem is Cyrus. >> >> Can someone explain what is going one? >> >> Is this a bug? > > Empty string seems to be a bug. But tuple is by design, read the docs > and imap rfc. The protocol is convoluted in the first place, and so is > python interface.
Are there more docs than at http://www.python.org/doc/. I don't find those very helpfull in explaining this. I also took a look at rfc 2060 and to be honest I don't find anything there to explain this difference. I only took a closer look at section 7.2.2. So maybe I should look somewehere else but after reading section 7.2.2. I don't understand why the list method returned a tuple for this mailbox instead of the following string: '(\\HasNoChildren) "/" "user/cpapen/newsletters %"' > >> If it is, is it fixed in later versions? > > Why don't you try to pull imaplib.py from later versions? I don't think > it changed that much so it should be compatible with python 2.3 I could take my hands on a 2.4 version and the result was the same. >> Whether or not it is a bug, can I rely on the mailbox >> being the last item in the tuple in these cases? > > Yes (at least for list command) Well that is at least comforting. -- Antoon Pardon -- http://mail.python.org/mailman/listinfo/python-list