diff options
author | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2009-07-30 17:25:09 +0000 |
---|---|---|
committer | cliechti <cliechti@f19166aa-fa4f-0410-85c2-fa1106f25c8a> | 2009-07-30 17:25:09 +0000 |
commit | 23dc2a04e04d23aa684cefa397abaa8c72f82ed7 (patch) | |
tree | 4c71ea20745dbbc470ec87a8035ddadb3d45de8f | |
parent | 0bbebbfa46daa115dd7f0fb38e6974578e7e6df3 (diff) | |
download | pyserial-git-23dc2a04e04d23aa684cefa397abaa8c72f82ed7.tar.gz |
remove type check and instead convert to bytes (Py 3.1 memoryview is not compatible w/ ctypes)
-rw-r--r-- | pyserial/serial/serialwin32.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pyserial/serial/serialwin32.py b/pyserial/serial/serialwin32.py index df58e77..af436bb 100644 --- a/pyserial/serial/serialwin32.py +++ b/pyserial/serial/serialwin32.py @@ -240,8 +240,10 @@ class Win32Serial(SerialBase): def write(self, data): """Output the given string over the serial port.""" if not self.hComPort: raise portNotOpenError - if not isinstance(data, (bytes, bytearray)): - raise TypeError('expected %s or bytearray, got %s' % (bytes, type(data))) + #~ if not isinstance(data, (bytes, bytearray)): + #~ raise TypeError('expected %s or bytearray, got %s' % (bytes, type(data))) + # convert data (needed in case of memoryview instance: Py 3.1 io lib), ctypes doesn't like memoryview + data = bytes(data) if data: #~ win32event.ResetEvent(self._overlappedWrite.hEvent) n = win32.DWORD() @@ -253,7 +255,9 @@ class Win32Serial(SerialBase): err = win32.GetOverlappedResult(self.hComPort, self._overlappedWrite, ctypes.byref(n), True) if n.value != len(data): raise writeTimeoutError - return n.value + return n.value + else: + return 0 def flushInput(self): |