summaryrefslogtreecommitdiffstats
path: root/lldb/third_party/Python/module/pexpect-2.4/fdpexpect.py
diff options
context:
space:
mode:
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.py54
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
-
OpenPOWER on IntegriCloud