| """Exception classes used by Pexpect""" | |
| import traceback | |
| import sys | |
| class ExceptionPexpect(Exception): | |
| '''Base class for all exceptions raised by this module. | |
| ''' | |
| def __init__(self, value): | |
| super(ExceptionPexpect, self).__init__(value) | |
| self.value = value | |
| def __str__(self): | |
| return str(self.value) | |
| def get_trace(self): | |
| '''This returns an abbreviated stack trace with lines that only concern | |
| the caller. In other words, the stack trace inside the Pexpect module | |
| is not included. ''' | |
| tblist = traceback.extract_tb(sys.exc_info()[2]) | |
| tblist = [item for item in tblist if ('pexpect/__init__' not in item[0]) | |
| and ('pexpect/expect' not in item[0])] | |
| tblist = traceback.format_list(tblist) | |
| return ''.join(tblist) | |
| class EOF(ExceptionPexpect): | |
| '''Raised when EOF is read from a child. | |
| This usually means the child has exited.''' | |
| class TIMEOUT(ExceptionPexpect): | |
| '''Raised when a read time exceeds the timeout. ''' | |