Import newest version of imaplib2
This change does not do anything yet with imaplib2, merely makes it available for future commits. This file is identical to the one at http://sydney.edu.au/engineering/it/~piers/python/imaplib2 . imaplib2, written by the same guy who wrote imaplib, is very different from imaplib itself. Calling it a modified version from the standard distribution is misleading. It's more like a complete rewrite. As such, it's not really possible to summarize what was changed. The largest thing is that imaplib2 is "threaded". Instead of doing blocking writes/reads on the socket during/after every command, imaplib2 forks off threads to read and write to the socket based on input and output buffers. This opens the door to asynchronous commands (every command is potentially asynchronous, according to the docs), and in particular IDLE, which is by definition an asynchronous command. The author writes: "imaplib2 can be substituted for imaplib in existing clients with no changes in the code", but that's pretty misleading. It might be true for certain simple users of imaplib, but for us it's completely false. Among other things, how untagged responses are stored in-memory is different -- instead of a hash table, it's a list. I'm guessing this is to preserve order of responses. I think there are other miscellaneous improvements, like I think imaplib2 is IPv6 safe out-of-the-box, but I haven't conducted an extremely thorough examination of the differences :) Signed-off-by: Ethan Glasser-Camp <ethan@betacantrips.com> Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
parent
e2354fd37c
commit
0a76f0a23d
2323
offlineimap/imaplib2.py
Executable file
2323
offlineimap/imaplib2.py
Executable file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user