parameters: (self, mechanism, authobject)
return_statement: return typ, dat
docstring: Authenticate command - requires response processing.
  
          'mechanism' specifies which authentication mechanism is to
          be used - it must appear in <instance>.capabilities in the
          form AUTH=<mechanism>.
  
          'authobject' must be a callable object:
  
                  data = authobject(response)
  
          It will be called to process server continuation responses.
          It should return data that will be encoded and sent to server.
          It should return None if the client abort response '*' should
          be sent instead.
docstring_summary: Authenticate command - requires response processing.
docstring_tokens: Authenticate command - requires response processing .
function: def authenticate(self, mechanism, authobject):
          """Authenticate command - requires response processing.
  
          'mechanism' specifies which authentication mechanism is to
          be used - it must appear in <instance>.capabilities in the
          form AUTH=<mechanism>.
  
          'authobject' must be a callable object:
  
                  data = authobject(response)
  
          It will be called to process server continuation responses.
          It should return data that will be encoded and sent to server.
          It should return None if the client abort response '*' should
          be sent instead.
          """
          mech = mechanism.upper()
          # XXX: shouldn't this code be removed, not commented out?
          #cap = 'AUTH=%s' % mech
          #if not cap in self.capabilities:       # Let the server decide!
          #    raise self.error("Server doesn't allow %s authentication." % mech)
          self.literal = _Authenticator(authobject).process
          typ, dat = self._simple_command('AUTHENTICATE', mech)
          if typ != 'OK':
              raise self.error(dat[-1])
          self.state = 'AUTH'
          return typ, dat
function_tokens: def authenticate ( self , mechanism , authobject ) : mech = mechanism . upper ( ) # XXX: shouldn't this code be removed, not commented out? #cap = 'AUTH=%s' % mech #if not cap in self.capabilities:       # Let the server decide! #    raise self.error("Server doesn't allow %s authentication." % mech) self . literal = _Authenticator ( authobject ) . process typ , dat = self . _simple_command ( 'AUTHENTICATE' , mech ) if typ != 'OK' : raise self . error ( dat [ - 1 ] ) self . state = 'AUTH' return typ , dat