raise a TypeError when trying to write unicode instead of bytes
diff --git a/serial/serialutil.py b/serial/serialutil.py
index d0a196e..1ccfabb 100644
--- a/serial/serialutil.py
+++ b/serial/serialutil.py
@@ -21,6 +21,11 @@
class memoryview(object):
pass
+try:
+ unicode
+except (NameError, AttributeError):
+ unicode = str # for Python 3
+
# "for byte in data" fails for python3 as it returns ints instead of bytes
def iterbytes(b):
@@ -47,6 +52,8 @@
return bytes(seq)
elif isinstance(seq, memoryview):
return seq.tobytes()
+ elif isinstance(seq, unicode):
+ raise TypeError('unicode strings are not supported, please encode to bytes: %r' % (seq,))
else:
b = bytearray()
for item in seq: