From 55dff187991a7363ddaa408b1367f23236dee693 Mon Sep 17 00:00:00 2001 From: Mike Hiretsky Date: Sat, 18 Jun 2011 18:20:15 +0400 Subject: [PATCH] Modify check ip in net for spcifing some nets. --- pym/utils/ip.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/pym/utils/ip.py b/pym/utils/ip.py index b302c4d..b49c1fc 100644 --- a/pym/utils/ip.py +++ b/pym/utils/ip.py @@ -123,11 +123,13 @@ def getIpNet(ip,mask): return "{ip}/{net}".format(ip=intIpToStrIp(ip&mask), net=net) -def isIpInNet(checkip,ipnet): - """Check is ip in specified net""" - ip,op,net = ipnet.partition('/') - mask = strIpToIntIp(netToMask(int(net))) - return (strIpToIntIp(checkip)&mask) == (strIpToIntIp(ip)&mask) +def isIpInNet(checkip,*ipnets): + """Check is ip in specified nets""" + return map(lambda x:x[0], + filter(lambda x:strIpToIntIp(checkip)&x[2] == strIpToIntIp(x[1])&x[2], + map(lambda x:(x[0],x[1][0],strIpToIntIp(netToMask(int(x[1][1])))), + map(lambda x:(x,x.partition('/')[0::2]), + ipnets)))) def receiveMac(interface="eth0"): """Get MAC from interface"""