def check_ip4_setting(self, info_dict): if "ipv4" in info_dict.keys(): if info_dict["ipv4"]["method"] == "manual": if not info_dict["ipv4"]["addresses"]: print "ipv4 addresses not complete" return False else: [address, netmask, gateway] = TypeConvert.ip4address_net2native( info_dict["ipv4"]["addresses"][0]) if not TypeConvert.is_valid_ip4(address): print "ipv4 invalid address" return False if not TypeConvert.is_valid_netmask(netmask): print "ipv4 invalid netmask" return False if not TypeConvert.is_valid_gw(address, netmask, gateway): print "ipv4 invalid gateway" return False if "dns" in info_dict["ipv4"].keys() and len( info_dict["ipv4"]["dns"]) > 0: for dns in info_dict["ipv4"]["dns"]: if not TypeConvert.is_valid_ip4( TypeConvert.ip4_net2native(dns)): print "ipv4 invalid dns" return False return True
def check_ip4_setting(self, info_dict): if "ipv4" in info_dict.keys(): if info_dict["ipv4"]["method"] == "manual": if not info_dict["ipv4"]["addresses"]: print "ipv4 addresses not complete" return False else: [address, netmask, gateway] = TypeConvert.ip4address_net2native(info_dict["ipv4"]["addresses"][0]) if not TypeConvert.is_valid_ip4(address): print "ipv4 invalid address" return False if not TypeConvert.is_valid_netmask(netmask): print "ipv4 invalid netmask" return False if not TypeConvert.is_valid_gw(address, netmask, gateway): print "ipv4 invalid gateway" return False if "dns" in info_dict["ipv4"].keys() and len(info_dict["ipv4"]["dns"]) > 0: for dns in info_dict["ipv4"]["dns"]: if not TypeConvert.is_valid_ip4(TypeConvert.ip4_net2native(dns)): print "ipv4 invalid dns" return False return True
def check_valid(self, name): if name == "ip4": return TypeConvert.is_valid_ip4(self.ip[0]) elif name == "netmask": return TypeConvert.is_valid_netmask(self.ip[1]) elif name == "gw": return TypeConvert.is_valid_gw(self.ip[0], self.ip[1], self.ip[2])
def check_complete_dns(self): dns = [] for address in self.dns: if TypeConvert.is_valid_ip4(address): dns.append(address) else: return dns return dns
def set_dns_address(self, widget, content, index): self.dns[index] = content names = ["master", "slaver"] dns = self.check_complete_dns() #print "set dns address:", dns, content if dns: is_valid = True self.setting.clear_dns() for d in dns: self.setting.add_dns(d) else: is_valid = False self.setting.clear_dns() if TypeConvert.is_valid_ip4(content): setattr(self, names[index] + "_flag", True) else: setattr(self, names[index] + "_flag", False) ############ # 检查dns if self.settings_obj: self.settings_obj.ipv4_dns_is_valid = is_valid self.settings_obj.set_button("save", is_valid)