summaryrefslogtreecommitdiff
path: root/serial/serialutil.py
diff options
context:
space:
mode:
authorChris Liechti <cliechti@gmx.net>2015-09-09 17:12:52 +0200
committerChris Liechti <cliechti@gmx.net>2015-09-09 17:12:52 +0200
commit4a790ad197763f17dd649e37fb9c1e752a3be21f (patch)
treea822b627cfb65500c33858ed40e0d0d34e75d839 /serial/serialutil.py
parentbc119fd238b5bf34c900161b981d579d8f7e61d4 (diff)
downloadpyserial-git-4a790ad197763f17dd649e37fb9c1e752a3be21f.tar.gz
raise a TypeError when trying to write unicode instead of bytes
Diffstat (limited to 'serial/serialutil.py')
-rw-r--r--serial/serialutil.py7
1 files changed, 7 insertions, 0 deletions
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 @@ except (NameError, AttributeError):
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 @@ def to_bytes(seq):
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: