summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksander Machniak <machniak@kolabsys.com>2016-05-04 15:55:41 +0200
committerJeroen van Meeuwen (Kolab Systems) <vanmeeuwen@kolabsys.com>2016-05-10 10:22:34 +0200
commit7c9eed0e662d8dc7f2e1996af631457a307a8a7a (patch)
treec60075047a70fe1a33e52502686a83794e1ac64b
parent450c15f7628b4dc297615538bd1206be33d0da25 (diff)
downloadpykolab-7c9eed0e662d8dc7f2e1996af631457a307a8a7a.tar.gz
Make sure imaplib exception argument is a string before using split() (#5387)
Summary: Looks like imaplib in some conditions can throw exceptions without the message or the message is not a string. We'll cast to string before using split() to prevent from "AttributeError: 'int' object has no attribute 'split'" errors. Reviewers: #pykolab_developers, vanmeeuwen Reviewed By: #pykolab_developers, vanmeeuwen Differential Revision: https://git.kolab.org/D135
-rw-r--r--cyruslib.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/cyruslib.py b/cyruslib.py
index b8d5dac..3802c00 100644
--- a/cyruslib.py
+++ b/cyruslib.py
@@ -382,7 +382,7 @@ class CYRUS:
if ok(res):
return res, msg
except Exception, info:
- error = info.args[0].split(':').pop().strip()
+ error = str(info).split(':').pop().strip()
if error.upper().startswith('BAD'):
error = error.split('BAD', 1).pop().strip()
error = unquote(error[1:-1], '\'')
@@ -411,7 +411,7 @@ class CYRUS:
res, msg = self.m.login(username, password)
admin = self.m.isadmin()
except Exception, info:
- error = info.args[0].split(':').pop().strip()
+ error = str(info).split(':').pop().strip()
self.__doexception("LOGIN", error)
if admin:
@@ -443,7 +443,7 @@ class CYRUS:
try:
res, msg = self.m.logout()
except Exception, info:
- error = info.args[0].split(':').pop().strip()
+ error = str(info).split(':').pop().strip()
self.__doexception("LOGOUT", error)
self.AUTH = False
self.ADMIN = None