On 3/22/07, Alan Kennedy <[EMAIL PROTECTED]> wrote: > [Alan] > >> - Explicitly check that the address passed is a tuple of (string, integer) > > [Facundo] > > In the code, I'll just make "host, port = address", I don't think it > > will be a problem at all. Remember that this function primary use is for > > higher level libraries, and that "address" in socket enviroment is > > always, always, (host, port). > > It's rather unfortunate that the tuple needs to be unpacked at all.
Why? > Instead, it should be possible to simply pass the address tuple > directly to the socsket.getaddrinfo() function, and let it worry about > the tuple-ness of the address, raising exceptions accordingly. > > The socket.getaddrinfo() function, unlike every other python socket > function, takes separate host and port parameters. Which forces every > user of the socket.getaddrinfo function to do the same unnecessary and > potentially error-prone address tuple unpacking. > > I have raised a feature request to change this. > > [1685962] socket.getaddrinfo() should take an address tuple. It's unlikely to be granted. Getaddrinfo(), like gethostname() and a few other things, lives at a different abstraction level than the basic socket object; it is only relevant for IP sockets, not for other types of addresses. The Python call just wraps the system call which has a similar API. While from a purist POV you might want to move all IP-related APIs out of the "pure" socket module (and this would include SSL), in practice, nobody cares. -- --Guido van Rossum (home page: http://www.python.org/~guido/) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com