Ñò +z2Wc@sbddkZddkZdd d„ƒYZd„Zedjo eƒndZdZdZdS( iÿÿÿÿNtIPCalccBsAeZdZddd„Zd„Zd„Zd„Zd„ZRS(s«A wrapper class that encapsulates the command line functionality of the ipcalc command, providing access to computing network prefixes, netmasks, etc. from python.cCs||_||_||_dS(s·Initialize an IPCalc object. Address must be provided, and in order for most of the other calculations to be possible, one of prefix or netmask must also be provided.N(t_addresst_prefixt_netmask(tselftaddresstprefixtnetmask((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyt__init__s  cCsª|io|iS|ip?tid|iƒiƒ}tid|ƒiƒd|_ntid|i|ifƒiƒ}tid|ƒiƒd|_|iSdS(Ns ipcalc -m %ss NETMASK=(\S+)isipcalc -p %s %ss PREFIX=(\d+)( RRtostpopenRtreadtretmatchtgroups(Rttext((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyRs  # cCs…|io|iS|ip tid|iƒiƒ}n tid|i|ifƒ}tid|ƒiƒd|_|iSdS(Ns ipcalc -m %ssipcalc -m %s/%ss NETMASK=(\S+)i( RRR R RR R R R(RR((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyR*s    cCsW|ip|iƒntid|i|ifƒiƒ}tid|ƒiƒdS(Nsipcalc -n %s/%ss NETWORK=(\S+)i( RRR R RR R R R(RR((s5/usr/share/system-config-network/netconfpkg/ipcalc.pytnetwork6s  cCsW|ip|iƒntid|i|ifƒiƒ}tid|ƒiƒdS(Nsipcalc -b %s/%ssBROADCAST=(\S+)i( RRR R RR R R R(RR((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyt broadcast=s  N( t__name__t __module__t__doc__tNoneRRRRR(((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyRs  cCsRtdddƒ}dG|iƒGHdG|iƒGHdG|iƒGHdG|iƒGHdS( s#Test function for the IPCalc class.s 207.175.42.15Rs 255.255.254.0sprefix:snetmask:sbcast:snetwork:N(RRRRR(tipc((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyttestDs t__main__s Harald Hoyer s$Date: 2007/03/14 09:29:37 $s$Revision: 1.8 $((R R RRRt __author__t__date__t __version__(((s5/usr/share/system-config-network/netconfpkg/ipcalc.pyt s  4