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