From e9d8e87a71559f6a513ae7b65fdd8a3216cd0df1 Mon Sep 17 00:00:00 2001 From: Nicolas Sebrecht Date: Wed, 26 Apr 2017 18:40:51 +0200 Subject: [PATCH] IMAP: UIDPLUS: improve error message on response error for new UID Signed-off-by: Nicolas Sebrecht --- offlineimap/folder/IMAP.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/offlineimap/folder/IMAP.py b/offlineimap/folder/IMAP.py index b565dbc..6939318 100644 --- a/offlineimap/folder/IMAP.py +++ b/offlineimap/folder/IMAP.py @@ -682,9 +682,13 @@ class IMAPFolder(BaseFolder): resp = imapobj._get_untagged_response('APPENDUID') if resp == [None] or resp is None: self.ui.warn("Server supports UIDPLUS but got no APPENDUID " - "appending a message.") + "appending a message. Got: %s."% str(resp)) return 0 - uid = int(resp[-1].split(' ')[1]) + try: + uid = int(resp[-1].split(' ')[1]) + except Exception as e: + raise OfflineImapError("Unexpected response: %s"% str(resp), + OfflineImapError.ERROR.MESSAGE) if uid == 0: self.ui.warn("savemessage: Server supports UIDPLUS, but" " we got no usable uid back. APPENDUID reponse was " @@ -706,7 +710,7 @@ class IMAPFolder(BaseFolder): if imapobj: self.imapserver.releaseconnection(imapobj) - if uid: # Avoid UID FETCH 0 crash happening later on + if uid: # Avoid UID FETCH 0 crash happening later on. self.messagelist[uid] = self.msglist_item_initializer(uid) self.messagelist[uid]['flags'] = flags