def setAttributes(self, attr, is_modify): if 'address_type' not in attr: address = parseIPAddress(attr['address']) attr['address_type'] = adresssType(address) Resource.setAttributes(self, attr, is_modify) if self.address is None: self.type = self.TEMPLATE_TYPE else: self.type = self.TYPE
def resolveHostname(self): if self.address_type == IPV6_ADDRESS: family = AF_INET6 else: family = AF_INET addresses = set() try: for family, socktype, proto, canonname, sockaddr in getaddrinfo(self.hostname, None, family): address = parseIPAddress(sockaddr[0]) addresses.add(address) except gaierror, err: message = toUnicode(err.args[1]) raise RulesetError(tr('Unable to get the address of the hostname "%s": %s!'), self.hostname, message)
def getter(self, rule, name, items): values = set() for item in items: value = getUnicode(item) if value is not None: value = parseIPAddress(value) if value is None: raise TypeError( "Attribute %s.%s list contains an invalid address: %s" % (object.__class__.__name__, name, repr(item)) ) values.add(value) if not values: return None return values
def getter(self, object, name, text): text = getUnicode(text) if not text: return None return parseIPAddress(text)
def createPhysical(self, address): address = parseIPAddress(address) checkHost(address) return address
def createPhysical(self, text): ip = parseIPAddress(text) ip.NoPrefixForSingleIp = False return ip