1 #!/usr/bin/env python 2 3 class FilterOutputStream: 4 def __init__(self, out): 5 self.out = out 6 def write(self, value, *args): 7 if args: 8 start, length = args 9 self.out.write(value[start:start+length]) 10 else: 11 self.out.write(value) 12 def flush(self): 13 self.out.flush() 14 def close(self): 15 self.out.close() 16 17 class InputStream: 18 def read(self, *args): 19 raise NotImplementedError, "read" 20 def skip(self, n): 21 raise NotImplementedError, "skip" 22 def available(self): 23 raise NotImplementedError, "available" 24 def close(self): 25 raise NotImplementedError, "close" 26 def mark(self, readlimit): 27 raise NotImplementedError, "mark" 28 def reset(self): 29 raise NotImplementedError, "reset" 30 def markSupported(self): 31 raise NotImplementedError, "markSupported" 32 33 class OutputStream: 34 def write(self, b, *args): 35 raise NotImplementedError, "write" 36 def flush(self): 37 raise NotImplementedError, "flush" 38 def close(self): 39 raise NotImplementedError, "close" 40 41 # vim: tabstop=4 expandtab shiftwidth=4