equal
deleted
inserted
replaced
53 self.out.write(struct.pack('>cI', self.channel, len(data))) |
53 self.out.write(struct.pack('>cI', self.channel, len(data))) |
54 self.out.write(data) |
54 self.out.write(data) |
55 self.out.flush() |
55 self.out.flush() |
56 |
56 |
57 def __getattr__(self, attr): |
57 def __getattr__(self, attr): |
58 if attr in ('isatty', 'fileno'): |
58 if attr in ('isatty', 'fileno', 'tell', 'seek'): |
59 raise AttributeError(attr) |
59 raise AttributeError(attr) |
60 return getattr(self.out, attr) |
60 return getattr(self.out, attr) |
61 |
61 |
62 class channeledinput(object): |
62 class channeledinput(object): |
63 """ |
63 """ |
137 if not l: |
137 if not l: |
138 raise StopIteration |
138 raise StopIteration |
139 return l |
139 return l |
140 |
140 |
141 def __getattr__(self, attr): |
141 def __getattr__(self, attr): |
142 if attr in ('isatty', 'fileno'): |
142 if attr in ('isatty', 'fileno', 'tell', 'seek'): |
143 raise AttributeError(attr) |
143 raise AttributeError(attr) |
144 return getattr(self.in_, attr) |
144 return getattr(self.in_, attr) |
145 |
145 |
146 class server(object): |
146 class server(object): |
147 """ |
147 """ |