Index: Lib/telnetlib.py =================================================================== --- Lib/telnetlib.py (revision 55755) +++ Lib/telnetlib.py (working copy) @@ -204,6 +204,7 @@ self.iacseq = '' # Buffer for IAC sequence. self.sb = 0 # flag for SB and SE sequence. self.sbdataq = '' + self.data_filter_callback = None self.option_callback = None if host is not None: self.open(host, port, timeout) @@ -409,6 +410,13 @@ self.sbdataq = '' return buf + def set_data_filter_callback(self, callback): + """Provide a callback function called after each receipt of + data on the telnet session. + + """ + self.data_filter_callback = callback + def set_option_negotiation_callback(self, callback): """Provide a callback function called after each receipt of a telnet option.""" self.option_callback = callback @@ -517,6 +525,8 @@ # behavior in process_rawq() above buf = self.sock.recv(50) self.msg("recv %r", buf) + if self.data_filter_callback is not None: + buf = self.data_filter_callback(self, buf) self.eof = (not buf) self.rawq = self.rawq + buf