diff options
Diffstat (limited to 'lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py')
-rw-r--r-- | lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py | 54 |
1 files changed, 35 insertions, 19 deletions
diff --git a/lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py b/lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py index 0ece98e6b94..a3f49659d64 100644 --- a/lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py +++ b/lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py @@ -9,58 +9,74 @@ import os __all__ = ['fdspawn'] + class fdspawn (spawn): """This is like pexpect.spawn but allows you to supply your own open file descriptor. For example, you could use it to read through a file looking for patterns, or to control a modem or serial device. """ - def __init__ (self, fd, args=[], timeout=30, maxread=2000, searchwindowsize=None, logfile=None): - + def __init__( + self, + fd, + args=[], + timeout=30, + maxread=2000, + searchwindowsize=None, + logfile=None): """This takes a file descriptor (an int) or an object that support the fileno() method (returning an int). All Python file-like objects support fileno(). """ - ### TODO: Add better handling of trying to use fdspawn in place of spawn - ### TODO: (overload to allow fdspawn to also handle commands as spawn does. + # TODO: Add better handling of trying to use fdspawn in place of spawn + # TODO: (overload to allow fdspawn to also handle commands as spawn + # does. - if type(fd) != type(0) and hasattr(fd, 'fileno'): + if not isinstance(fd, type(0)) and hasattr(fd, 'fileno'): fd = fd.fileno() - if type(fd) != type(0): - raise ExceptionPexpect ('The fd argument is not an int. If this is a command string then maybe you want to use pexpect.spawn.') + if not isinstance(fd, type(0)): + raise ExceptionPexpect( + 'The fd argument is not an int. If this is a command string then maybe you want to use pexpect.spawn.') - try: # make sure fd is a valid file descriptor + try: # make sure fd is a valid file descriptor os.fstat(fd) except OSError: - raise ExceptionPexpect, 'The fd argument is not a valid file descriptor.' + raise ExceptionPexpect( + 'The fd argument is not a valid file descriptor.') self.args = None self.command = None - spawn.__init__(self, None, args, timeout, maxread, searchwindowsize, logfile) + spawn.__init__( + self, + None, + args, + timeout, + maxread, + searchwindowsize, + logfile) self.child_fd = fd self.own_fd = False self.closed = False self.name = '<file descriptor %d>' % fd - def __del__ (self): + def __del__(self): return - def close (self): + def close(self): if self.child_fd == -1: return if self.own_fd: - self.close (self) + self.close(self) else: self.flush() os.close(self.child_fd) self.child_fd = -1 self.closed = True - def isalive (self): - + def isalive(self): """This checks if the file descriptor is still valid. If os.fstat() does not raise an exception then we assume it is alive. """ @@ -72,11 +88,11 @@ class fdspawn (spawn): except: return False - def terminate (self, force=False): + def terminate(self, force=False): - raise ExceptionPexpect ('This method is not valid for file descriptors.') + raise ExceptionPexpect( + 'This method is not valid for file descriptors.') - def kill (self, sig): + def kill(self, sig): return - |