@@ -196,13 +196,7 @@ def __init__(self, host = '', port = IMAP4_PORT):
196196 else :
197197 raise self .error (self .welcome )
198198
199- typ , dat = self .capability ()
200- if dat == [None ]:
201- raise self .error ('no CAPABILITY response from server' )
202- dat = str (dat [- 1 ], "ASCII" )
203- dat = dat .upper ()
204- self .capabilities = tuple (dat .split ())
205-
199+ self ._get_capabilities ()
206200 if __debug__ :
207201 if self .debug >= 3 :
208202 self ._mesg ('CAPABILITIES: %r' % (self .capabilities ,))
@@ -737,10 +731,7 @@ def starttls(self, ssl_context=None):
737731 self .sock = ssl_context .wrap_socket (self .sock )
738732 self .file = self .sock .makefile ('rb' )
739733 self ._tls_established = True
740- typ , dat = self .capability ()
741- if dat == [None ]:
742- raise self .error ('no CAPABILITY response from server' )
743- self .capabilities = tuple (dat [- 1 ].upper ().split ())
734+ self ._get_capabilities ()
744735 else :
745736 raise self .error ("Couldn't establish TLS session" )
746737 return self ._untagged_response (typ , dat , name )
@@ -956,6 +947,15 @@ def _command_complete(self, name, tag):
956947 return typ , data
957948
958949
950+ def _get_capabilities (self ):
951+ typ , dat = self .capability ()
952+ if dat == [None ]:
953+ raise self .error ('no CAPABILITY response from server' )
954+ dat = str (dat [- 1 ], "ASCII" )
955+ dat = dat .upper ()
956+ self .capabilities = tuple (dat .split ())
957+
958+
959959 def _get_response (self ):
960960
961961 # Read response and store.
0 commit comments