[PATCH] introduce a virtual imaplib2 (was: Separate imaplib2 from offlineimap)

Łukasz Żarnowiecki dolohow at outlook.com
Sat Jun 4 10:50:15 BST 2016

On Sat, Jun 04, 2016 at 02:04:07AM +0200, Nicolas Sebrecht wrote:
> On Fri, Jun 03, 2016 at 08:26:07PM +0200, Łukasz Żarnowiecki wrote:
> > I was searching through mailing listing archive and I could not find a
> > subject that would raised that kind of an issue.
> > 
> > The idea is to separate imaplib2 from offlineimap.  The only real
> > advantage is that we do not need to update offlineimap repository to
> > reflect changes in imaplib2.
> This is a little advantage. imaplib2 is moving slowly. At least, not as
> fast as offlineimap.
> There are serious downsides, though:
> - Offlineimap can run without outside dependency since the beginning and
>   I know users expect it to work like this: download the zip and run.

This invariant was changed when we introduced six as a dependency.

> - This will require us to handle bugs for different imaplib2 versions.
>   This means more maintenance tasks.

This is a good point, but we might state that only the latest version is

> > If you are interested I will send you patches.
> I think we can find a consensus with the following patch. I understand
> people wanting offlineimap to work with any external imaplib2 should be
> allowed to do it.

I think your patch is a good idea, better than my.

> +    if int(imaplib.__release__) < _SUPPORTED_RELEASE \
> +            or int(imaplib.__revision__) < _SUPPORTED_REVISION:

What about
    if (int(imaplib.__release__) < _SUPPORTED_RELEASE or
        int(imaplib.__revision__) < _SUPPORTED_REVISION):
as PEP8 suggest?


More information about the OfflineIMAP-project mailing list