[Python-Dev] Adding timeout to socket.py and httplib.py

Josiah Carlson jcarlson at uci.edu
Wed Mar 21 00:10:23 CET 2007


"Alan Kennedy" <python-dev at alan.kennedy.name> wrote:
> 
> [Facundo]
> > Letting "timeout" be positional or named, it's just less error prone.
> > So, if I can make it this way, it's what I prefer, :)
> 
> So, if I want a timeout of, say, 80 seconds, I issue a call like this
> 
> new_socket = socket.create_connection(address, 80)
> 
> So is that address = host, port = 80?
> 
> Or is it address = (host, port), timeout=80?
> 
> I know *we* know what it is, but will the user?
> 
> I prefer explicit naming of the timeout parameter.

Error-wise, I agree that it would be better to pass timeout explicitly
with a keyword, but generally users will notice their mistake if they
try to do create_connection(host, port) by ValueError("tuple expected as
first argument, got str instead") Is it better than
TypeError("create_connection takes 1 argument (2 given)") ?


 - Josiah



More information about the Python-Dev mailing list