Message 129152 - Python tracker (original) (raw)
Follow my comments:
source_address=('', 0)):
Make that default to None instead and pass it as-is to socket.create_connection().
self.source_address = source_address
There's no need to store the source address as an instance attribute. Just pass it as-is to socket.create_connection() in init and connect methods and then get rid of it.
I think source_address no longer makes sense in UNIX sockets / LMTP class. Or at least, this is what I get if I try to bind() a UNIX socket:
import socket sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.bind(("", 0)) Traceback (most recent call last): File "", line 1, in File "", line 1, in bind TypeError: argument must be string or read-only character buffer, not tuple