PARTIALLY REMOVING MAXAGE (was: [PATCH v4] make maxage use UIDs to avoid timezone issues)

Nicolas Sebrecht nicolas.s-dev at laposte.net
Mon Apr 6 10:45:17 BST 2015


On Mon, Apr 06, 2015 at 12:29:11AM -0700, Janna Martl wrote:
> On Thu, Apr 02, 2015 at 10:50:21AM +0200, Nicolas Sebrecht wrote:
> > 
> > This is PATCH v8.
> 
> now v9.
>  
> I fixed some bugs and implemented your suggestions. This applies on top
> of version 8.

So, it's more PATCH v8 2/1. ,-)

> >> +        if localfolder.getmessagecount() or statusfolder.getmessagecount():
> >
> >Shouldn't it be:
> >        if localfolder.getmessagecount() > 0 and statusfolder.getmessagecount() > 0:
> 
> I'm not sure about this; it was pre-existing code that I just moved.

Ok, will keep things as-is. I'll add a note about that so it gets checked
later.

> 1. When using maxage, local and remote messagelists are supposed to only
> contain messages from at most maxage days ago. But local and remote used
> different timezones to calculate what "maxage days ago" means, resulting
> in removals on one side. Now, we ask the local folder for maxage days'
> worth of mail, find the lowest UID, and then ask the remote folder for
> all UID's starting with that lowest one.
> 
> 2. maxage was fundamentally wrong in the IMAP-IMAP case: it assumed that
> remote messages have UIDs in the same order as their local counterparts,
> which could be false, e.g. when messages are copied in quick succession.
> So, remove support for maxage in the IMAP-IMAP case.
> 
> 3. Add startdate option for IMAP-IMAP syncs: use messages from the given
> repository starting at startdate, and all messages from the other
> repository. In the first sync, the other repository must be empty.
> 
> 4. Allow maxage to be specified either as number of days to sync (as
> previously) or as a fixed date.
> ---
>  offlineimap/accounts.py            | 37 +++++++++++++++++++++++--------------
>  offlineimap/folder/Base.py         | 14 +++++++++-----
>  offlineimap/folder/GmailMaildir.py |  4 ++--
>  3 files changed, 34 insertions(+), 21 deletions(-)

Looks good to me. Did you test this patch?

This whole topic is not trivial so I intend to merge it and make a new
rc.

-- 
Nicolas Sebrecht




More information about the OfflineIMAP-project mailing list