docs: def interact(self, banner=None):
      """Closely emulate the interactive Python console.
  
      This method overwrites its superclass' method to specify a different help
      text and to enable proper handling of the debugger status line.
  
      Args:
        banner: Text to be displayed on interpreter startup.
      """
      sys.ps1 = getattr(sys, 'ps1', '>>> ')
      sys.ps2 = getattr(sys, 'ps2', '... ')
      if banner is None:
        print ('Pyringe (Python %s.%s.%s) on %s\n%s' %
               (sys.version_info.major, sys.version_info.minor,
                sys.version_info.micro, sys.platform, _WELCOME_MSG))
      else:
        print banner
      more = False
      while True:
        try:
          if more:
            prompt = sys.ps2
          else:
            prompt = self.StatusLine() + '\n' + sys.ps1
          try:
            line = self.raw_input(prompt)
          except EOFError:
            print ''
            break
          else:
            more = self.push(line)
        except KeyboardInterrupt:
          print '\nKeyboardInterrupt'
          self.resetbuffer()
          more = False