Message250316
All of the BTPROTO_ protocols accept tuples with Bluetooth addresses as regular strings. SCO accepts a byte-string which represents a Bluetooth address. The change was made at 23ab586c427a
With the current implementation we get this error:
>>> import socket
>>> x = socket.socket(socket.AF_BLUETOOTH, socket.SOCK_SEQPACKET, socket.BTPROTO_SCO)
>>> x.bind(socket.BDADDR_ANY)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OSError: getsockaddrarg: wrong format
This is because socket.BDADDR_ANY is a string while the bind() is expecting a binary string. So the workaround would be to call x.bind(socket.BDADDR_ANY.encode()) .
Is it acceptable to change it to accept a regular string to match the other address methods and constants? This would be essentially a breaking change, however on something that wasn't really documented prior to #24984 .
I'll submit a patch when the repo is back up... |
|
Date |
User |
Action |
Args |
2015-09-09 15:27:22 | Tim.Tisdall | set | recipients:
+ Tim.Tisdall |
2015-09-09 15:27:22 | Tim.Tisdall | set | messageid: <1441812442.49.0.0898907161184.issue25044@psf.upfronthosting.co.za> |
2015-09-09 15:27:22 | Tim.Tisdall | link | issue25044 messages |
2015-09-09 15:27:22 | Tim.Tisdall | create | |
|