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
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.