From 6e5817986b8d8e5ce81c0366fa510f0ca69f19a7 Mon Sep 17 00:00:00 2001 From: jgoerzen Date: Fri, 21 Jun 2002 02:55:06 +0100 Subject: [PATCH] /head: changeset 26 Updated. --- head/offlineimap/folder/Base.py | 4 ++++ head/offlineimap/folder/IMAP.py | 14 ++++++++++++-- head/offlineimap/imaputil.py | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/head/offlineimap/folder/Base.py b/head/offlineimap/folder/Base.py index fa01ff1..6d5fb47 100644 --- a/head/offlineimap/folder/Base.py +++ b/head/offlineimap/folder/Base.py @@ -105,6 +105,10 @@ class BaseFolder: def deletemessage(self, uid): raise NotImplementedException + def deletemessages(self, uidlist): + for uid in uidlist: + self.deletemessage(uid) + def syncmessagesto(self, dest, applyto = None): """Syncs messages in this folder to the destination. If applyto is specified, it should be a list of folders (don't forget diff --git a/head/offlineimap/folder/IMAP.py b/head/offlineimap/folder/IMAP.py index 4be4ef2..8f19778 100644 --- a/head/offlineimap/folder/IMAP.py +++ b/head/offlineimap/folder/IMAP.py @@ -88,6 +88,16 @@ class IMAPFolder(BaseFolder): self.messagelist[uid] = {'uid': uid, 'flags': flags} return uid - - + def savemessageflags(self, uid, flags): + assert(self.imapobj.select(self.getfullname())[0] == 'OK') + result = self.imapobj.uid('store', '%d' % uid, 'FLAGS', + imaputil.flagsmaildir2imap(flags))[1][0] + flags = imaputil.flags2hash(imaputil.imapsplit(result)[1]){'FLAGS'} + self.messagelist[uid]['flags'] = imaputil.flagsimap2maildir(flags) + + def deletemessage(self, uid): + self.addmessagesflags(uid, ['T']) + assert(self.imapobj.select(self.getfullname())[0] == 'OK') + assert(self.imapobj.expunge()[0] == 'OK') + diff --git a/head/offlineimap/imaputil.py b/head/offlineimap/imaputil.py index 9359c79..0a845db 100644 --- a/head/offlineimap/imaputil.py +++ b/head/offlineimap/imaputil.py @@ -100,5 +100,5 @@ def flagsmaildir2imap(list): if flagmap.has_key(mdflag): retval.append(flagmap[mdflag]) retval.sort() - return retval + return '(' + ' '.join(retval) + ')'