python IP地址
def reserve_ip(ipstart, ipend):
ip_list=[]
removeip_list = models.Dhcpremoveip.objects.all()
iprange = None
for removeip in removeip_list:
ip_dict={}
ip_dict['start']=removeip.starts
ip_dict['end']=removeip.ends
ip_list.append(ip_dict)
for ip_one in ip_list:
if IP(ip_one['end']).int() <= IP(ipstart).int():
iprange = " range %s %s ;\n"%(ipstart, ipend)
if IP(ip_one['start']).int() >= IP(ipend).int():
iprange = " range %s %s ;\n"%(ipstart, ipend)
if IP(ip_one['end']).int() <= IP(ipend).int() and IP(ip_one['end']).int() >= IP(ipstart).int() and IP(ip_one['start']).int() <= IP(ipstart).int():
iprange = " range %s %s ;\n" % (ip_one['end'], ipend)
if IP(ip_one['end']).int() <= IP(ipend).int() and IP(ip_one['start']).int() >= IP(ipstart).int():
iprange = reserve_ip(ipstart, ip_one['start'])
iprange += reserve_ip(ip_one['end'], ipend)
break;
if IP(ip_one['end']).int() >= IP(ipend).int() and IP(ip_one['start']).int() >= IP(ipstart).int() and IP(ip_one['start']).int() <= IP(ipend).int():
iprange = " range %s %s ;\n" % (ipstart, ip_one['start'])
return iprange
def reserve_ip(ipstart, ipend): ip_list=[] removeip_list = models.Dhcpremoveip.objects.all() iprange = None for removeip in removeip_list: ip_dict={} ip_dict['start']=removeip.starts ip_dict['end']=removeip.ends ip_list.append(ip_dict) for ip_one in ip_list: if IP(ip_one['end']).int() <= IP(ipstart).int(): iprange = " range %s %s ;\n"%(ipstart, ipend) if IP(ip_one['start']).int() >= IP(ipend).int(): iprange = " range %s %s ;\n"%(ipstart, ipend) if IP(ip_one['end']).int() <= IP(ipend).int() and IP(ip_one['end']).int() >= IP(ipstart).int() and IP(ip_one['start']).int() <= IP(ipstart).int(): iprange = " range %s %s ;\n" % (ip_one['end'], ipend) if IP(ip_one['end']).int() <= IP(ipend).int() and IP(ip_one['start']).int() >= IP(ipstart).int(): iprange = reserve_ip(ipstart, ip_one['start']) iprange += reserve_ip(ip_one['end'], ipend) break; if IP(ip_one['end']).int() >= IP(ipend).int() and IP(ip_one['start']).int() >= IP(ipstart).int() and IP(ip_one['start']).int() <= IP(ipend).int(): iprange = " range %s %s ;\n" % (ipstart, ip_one['start']) return iprange