summaryrefslogtreecommitdiffstats
path: root/Lib/imaplib.py
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-11-10 00:18:40 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-11-10 00:18:40 (GMT)
commitdac47914d75ac3127911d972b8bfc14bb49e66fe (patch)
treea75520712cfb7c06f2d49d593d71fa3113dadc25 /Lib/imaplib.py
parentd79f3c8b3a544de869e01d8f229f114d7eb2dfa8 (diff)
downloadcpython-dac47914d75ac3127911d972b8bfc14bb49e66fe.zip
cpython-dac47914d75ac3127911d972b8bfc14bb49e66fe.tar.gz
cpython-dac47914d75ac3127911d972b8bfc14bb49e66fe.tar.bz2
Forward port r86386 after it fixed the 3.1 buildbot issues
Diffstat (limited to 'Lib/imaplib.py')
-rw-r--r--Lib/imaplib.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Lib/imaplib.py b/Lib/imaplib.py
index e020747..94f4e8f 100644
--- a/Lib/imaplib.py
+++ b/Lib/imaplib.py
@@ -818,7 +818,7 @@ class IMAP4:
def _check_bye(self):
bye = self.untagged_responses.get('BYE')
if bye:
- raise self.abort(bye[-1])
+ raise self.abort(bye[-1].decode('ascii', 'replace'))
def _command(self, name, *args):
@@ -899,14 +899,17 @@ class IMAP4:
def _command_complete(self, name, tag):
- self._check_bye()
+ # BYE is expected after LOGOUT
+ if name != 'LOGOUT':
+ self._check_bye()
try:
typ, data = self._get_tagged_response(tag)
except self.abort as val:
raise self.abort('command: %s => %s' % (name, val))
except self.error as val:
raise self.error('command: %s => %s' % (name, val))
- self._check_bye()
+ if name != 'LOGOUT':
+ self._check_bye()
if typ == 'BAD':
raise self.error('%s command error: %s %s' % (name, typ, data))
return typ, data