def newHost(self, ip, name): if type(ip) is not type(()): ip = pdconf.splitHostPort(ip) self.hosts.append(ip) self.hostnames[ip] = name self.hostnames['%s:%d'%ip] = name self.openconns[ip] = 0 self.totalconns[ip] = 0
def delHost(self, ip=None, name=None, activegroup=0): "remove a host" if ip is not None: if type(ip) is not type(()): ip = pdconf.splitHostPort(ip) elif name is not None: for ip in self.hostnames.keys(): if self.hostnames[ip] == name: break raise ValueError, "No host named %s"%(name) else: raise ValueError, "Neither ip nor name supplied" if activegroup and len(self.hosts) == 1: return 0 if ip in self.hosts: self.hosts.remove(ip) del self.hostnames[ip] del self.openconns[ip] del self.totalconns[ip] elif self.badhosts.has_key(ip): del self.badhosts[ip] else: raise ValueError, "Couldn't find host" return 1