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

 

posted on 2018-04-10 16:03  与非朋仔  阅读(183)  评论(0)    收藏  举报

导航