| 16 | |
| 17 | |
| 18 | class Tee(object): |
| 19 | def __init__(self, filename, mode='w', terminal=sys.stderr): |
| 20 | self.file = open(filename, mode, buffering=1) |
| 21 | self.terminal = terminal |
| 22 | |
| 23 | def __del__(self): |
| 24 | self.file.close() |
| 25 | |
| 26 | def write(self, *args, **kwargs): |
| 27 | log(*args, file=self.file, **kwargs) |
| 28 | log(*args, file=self.terminal, **kwargs) |
| 29 | |
| 30 | def __call__(self, *args, **kwargs): |
| 31 | return self.write(*args, **kwargs) |
| 32 | |
| 33 | def flush(self): |
| 34 | self.file.flush() |
| 35 | |
| 36 | |
| 37 | class Logger(): |
no outgoing calls
no test coverage detected