Source code for cansen.printer

# Standard Libraries
import sys

# Create a string to use as a divider. Use a default column width of
# 80 chars.
divider = '*'*80


[docs]class Tee(object): """Write to screen and text output file""" def __init__(self, name, mode): """Initialize output. :param name: Output file name. :param mode: Read/Write mode of the output file. """ self.file = open(name, mode) self.stdout = sys.stdout sys.stdout = self
[docs] def close(self): """Close output file and restore standard behavior""" if self.stdout is not None: sys.stdout = self.stdout self.stdout = None if self.file is not None: self.file.close() self.file = None
def write(self, data): self.file.write(data) self.stdout.write(data) def flush(self): self.file.flush() self.stdout.flush() def __del__(self): self.close()