From 95f172d6c69c298e9cdb1cd90402281923506a0c Mon Sep 17 00:00:00 2001 From: Olivier Matz Date: Wed, 25 Nov 2015 18:52:12 +0100 Subject: [PATCH] actions: fix move It is not possible to use ImapamiActionCopy.process() or ImapamiActionDelete.process() methods on the ImapamiActionMove object. So just duplicate the code for now. Signed-off-by: Olivier Matz --- imapami/actions.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/imapami/actions.py b/imapami/actions.py index 7525133..63f4f52 100644 --- a/imapami/actions.py +++ b/imapami/actions.py @@ -273,13 +273,19 @@ class ImapamiActionMove(ImapamiAction): ImapamiAction.__init__(self, terminal=True) self.dest = dest def process(self, ami, mail): - ret = ImapamiActionCopy.process( - self, ami, mail) - if ret == False: + imap = ami.imap + dest = self.evaluate(self.dest, ami, mail.msg) + imap.create(dest) + ret, msg = imap.copy(mail.item, dest) + if ret != "OK": + ami.logger.warning( + "imap copy returned %s: %s" % (ret, str(msg))) return False - ret = ImapamiActionDelete.process( - self, ami, mail) - if ret == False: + ret, msg = imap.store(mail.item, '+FLAGS', '\\Deleted') + if ret != "OK": + ami.logger.warning( + "imap store '%s %s' returned %s: %s" % ( + cmd, flag, ret, str(msg))) return False return True register(ImapamiActionMove) -- 2.20.1