home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- __docformat__ = 'restructuredtext en'
- import os
- import sys
- STDOUT = 1
- STDERR = 2
-
- class FDRedirector(object):
-
- def __init__(self, fd = STDOUT):
- self.fd = fd
- self.started = False
- self.piper = None
- self.pipew = None
-
-
- def start(self):
- if not self.started:
- self.oldhandle = os.dup(self.fd)
- (self.piper, self.pipew) = os.pipe()
- os.dup2(self.pipew, self.fd)
- os.close(self.pipew)
- self.started = True
-
-
-
- def flush(self):
- if self.fd == STDOUT:
- sys.stdout.flush()
- elif self.fd == STDERR:
- sys.stderr.flush()
-
-
-
- def stop(self):
- if self.started:
- self.flush()
- os.dup2(self.oldhandle, self.fd)
- os.close(self.oldhandle)
- f = os.fdopen(self.piper, 'r')
- output = f.read()
- f.close()
- self.started = False
- return output
- return ''
-
-
- def getvalue(self):
- output = self.stop()
- self.start()
- return output
-
-
-