| 499 | return exitcode, output |
| 500 | |
| 501 | class GrabStdout: |
| 502 | |
| 503 | def __init__(self): |
| 504 | self.sys_stdout = sys.stdout |
| 505 | self.data = '' |
| 506 | sys.stdout = self |
| 507 | |
| 508 | def write (self, data): |
| 509 | self.sys_stdout.write(data) |
| 510 | self.data += data |
| 511 | |
| 512 | def flush (self): |
| 513 | self.sys_stdout.flush() |
| 514 | |
| 515 | def restore(self): |
| 516 | sys.stdout = self.sys_stdout |