Separating IP nodes
Brad Knotwell
knotwell at ix.netcom.com
Sun Sep 3 03:59:12 EDT 2000
More information about the Python-list mailing list
Sun Sep 3 03:59:12 EDT 2000
- Previous message (by thread): Separating IP nodes
- Next message (by thread): Separating IP nodes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"John W. Baxter" <jwbnews at scandaroon.com> writes: > My temptation would be to convert the dotted string form of the IP > address to a (long) integer, catching errors, add one, and convert back > to a dotted string (catching the error that the user put in > 255.255.255.255 which has become the pseudo IP 1.0.0.0.0). > > Functions (methods) to do this are in...(oops, as I've never needed > them, I had to try to find the code...and I've failed so far). Here's a good start (NOTE: they assume a reasonable input) def ipv4_cvt((first,second,third,fourth)): return (first << 24L) + (second << 16) + (third << 8) + fourth def ipv4_uncvt2(addr,shift = (24,16,8,0),res = ()): octet = (addr >> shift[0]) res = res + (octet,) if not shift[0]: return res else: return ip_uncvt2(addr - (octet * (256L << shift[1])),shift[1:], res) maxaddr = ipv4_cvt([255,255,255,255]) myaddr = ipv4_cvt([10,100,200,255]) if myaddr >= maxaddr: raise 'BadIpAddress' else: print ip_uncvt(myaddr+1) > John W. Baxter Port Ludlow, WA USA jwbnews at scandaroon.com --Brad
- Previous message (by thread): Separating IP nodes
- Next message (by thread): Separating IP nodes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list