code: def complete(self, text, state):
          
          if self.use_main_ns:
              self.namespace = __main__.__dict__
          if state == 0:
              self.matches = self.attr_matches(text)
          try:
              return self.matches[state]
          except IndexError:
              return None
docs: Return the next possible completion for 'text'.
  
          This is called successively with state == 0, 1, 2, ... until it
          returns None.  The completion should begin with 'text'.