[PATCH] Raise Exception with sensible Error message
Sebastian Spaeth
Sebastian at SSpaeth.de
Wed Mar 2 13:18:12 GMT 2011
When e.g. specifying an invalid 'reference' value for an IMAP server to
a root folder that does not exist, we would previously have crashed with
a nonsensical and non-intuitive error message (trying to address an
element of a NoneType).
This will also raise an Exception (which should be ok, given that this
is really a misconfiguration on the user side), but at least it will
explain to the user WHY it exited.
Signed-off-by: Sebastian Spaeth <Sebastian at SSpaeth.de>
---
Please have this one go into master (which it is based on) or next. It gives a nicer error feedback on misconfigurations.
offlineimap/imapserver.py | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/offlineimap/imapserver.py b/offlineimap/imapserver.py
index 2a9f247..0d7c621 100644
--- a/offlineimap/imapserver.py
+++ b/offlineimap/imapserver.py
@@ -302,6 +302,14 @@ class IMAPServer:
# Some buggy IMAP servers do not respond well to LIST "" ""
# Work around them.
listres = imapobj.list(self.reference, '"*"')[1]
+ if listres == [None] or listres == None:
+ # No Folders were returned. This occurs, e.g. if the
+ # 'reference' prefix does not exist on the mail
+ # server. Raise exception.
+ err = "Server '%s' returned no folders in '%s'" % \
+ (self.repos.getname(), self.reference)
+ self.ui.warn(err)
+ raise Exception(err)
self.delim, self.root = \
imaputil.imapsplit(listres[0])[1:]
self.delim = imaputil.dequote(self.delim)
--
1.7.1
More information about the OfflineIMAP-project
mailing list