Merge branch 'ss/better-error-throwing-and-id-sequence' into next

Conflicts:
	offlineimap/folder/IMAP.py
	offlineimap/imaputil.py

Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:
Nicolas Sebrecht
2011-09-06 20:15:05 +02:00
2 changed files with 49 additions and 56 deletions

View File

@ -191,10 +191,8 @@ def flagsmaildir2imap(maildirflaglist):
def uid_sequence(uidlist):
"""Collapse UID lists into shorter sequence sets
[1,2,3,4,5,10,12,13] will return "1:5,10,12:13". This function
converts items to numeric type and sorts the list to always produce
the minimal collapsed set.
[1,2,3,4,5,10,12,13] will return "1:5,10,12:13". This function sorts
the list, and only collapses if subsequent entries form a range.
:returns: The collapsed UID list as string"""
def getrange(start, end):
if start == end:
@ -208,6 +206,7 @@ def uid_sequence(uidlist):
sorted_uids = sorted(map(int, uidlist))
for item in iter(sorted_uids):
item = int(item)
if start == None: # First item
start, end = item, item
elif item == end + 1: # Next item in a range