docker-offlineimap/offlineimap
Ethan Glasser-Camp 0a76f0a23d 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>
2011-03-14 19:51:56 +01:00
..
folder Remove some unneeded imports 2011-03-14 19:51:52 +01:00
repository Merge branch 'ss/debug-folderfilter' into next 2011-03-03 19:07:35 +01:00
ui UIBase: fix regression while deletingflags 2011-03-11 20:20:12 +01:00
__init__.py v6.3.2 2011-02-21 12:26:48 +01:00
accounts.py folder: Implement helper function getmessagecount() 2011-03-10 20:30:19 +01:00
CustomConfig.py Improve CustomConfig documentation 2011-01-20 19:46:01 +01:00
imaplib2.py Import newest version of imaplib2 2011-03-14 19:51:56 +01:00
imaplibutil.py Merge branch 'master' into next 2011-03-07 21:55:43 +01:00
imapserver.py Merge branch 'master' into next 2011-03-07 21:55:43 +01:00
imaputil.py Remove over-verbose debug options 2011-03-03 18:23:32 +01:00
init.py Merge branch 'ss/deprecate-current-ui-names' into next 2011-03-06 18:33:29 +01:00
localeval.py Update FSF address 2006-08-12 05:15:55 +01:00
mbnames.py Update FSF address 2006-08-12 05:15:55 +01:00
syncmaster.py Implement true single-threading 2011-01-14 19:25:11 +01:00
threadutil.py threadutil: Don't require the StringIO module 2011-03-11 20:34:33 +01:00