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 <[email protected]>
<http://bugs.python.org/issue12523>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com