Giampaolo Rodola' added the comment: The part of the code where that is more likely to happen is the push() method. One might also submit a producer (push_with_producer()) erroneously returning strings on more() though; how to properly fix this one is not clear to me because of the bad asynchat design. I'd be for simply raising an exception in push() as in:
diff --git a/Lib/asynchat.py b/Lib/asynchat.py --- a/Lib/asynchat.py +++ b/Lib/asynchat.py @@ -181,6 +181,8 @@ self.close() def push (self, data): + if not isinstance(data, bytes): + raise TypeError("data must be a bytes object") sabs = self.ac_out_buffer_size if len(data) > sabs: for i in range(0, len(data), sabs): ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue12523> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com