From: Finn B. <bc...@us...> - 2001-01-10 11:27:11
|
Update of /cvsroot/jython/jython/Lib In directory usw-pr-cvs1:/tmp/cvs-serv9638 Modified Files: socket.py Log Message: Added Brian Zimmer's patch for getfqdn(). Index: socket.py =================================================================== RCS file: /cvsroot/jython/jython/Lib/socket.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** socket.py 2000/12/05 19:25:48 1.8 --- socket.py 2001/01/10 11:27:29 1.9 *************** *** 22,25 **** --- 22,51 ---- SOCK_STREAM = 2 + def _gethostbyaddr(name): + # This is as close as I can get; at least the types are correct... + addresses = java.net.InetAddress.getAllByName(gethostbyname(name)) + names = [] + addrs = [] + for addr in addresses: + names.append(addr.getHostName()) + addrs.append(addr.getHostAddress()) + return (names, addrs) + + def getfqdn(name=None): + """ + Return a fully qualified domain name for name. If name is omitted or empty + it is interpreted as the local host. To find the fully qualified name, + the hostname returned by gethostbyaddr() is checked, then aliases for the + host, if available. The first name which includes a period is selected. + In case no fully qualified domain name is available, the hostname is retur + New in version 2.0. + """ + if not name: + name = gethostname() + names, addrs = _gethostbyaddr(name) + for a in names: + if a.find(".") >= 0: + return a + return name def gethostname(): *************** *** 30,40 **** def gethostbyaddr(name): ! # This is as close as I can get; at least the types are correct... ! addresses = java.net.InetAddress.getAllByName(gethostbyname(name)) ! names = [] ! addrs = [] ! for addr in addresses: ! names.append(addr.getHostName()) ! addrs.append(addr.getHostAddress()) return (names[0], names, addrs) --- 56,60 ---- def gethostbyaddr(name): ! names, addrs = _gethostbyaddr(name) return (names[0], names, addrs) |