"""
Used to define IP-address/subnet stuff
"""
import IPy
class IP (IPy.IP, object) :
"""
A literal IPv4 address
"""
def __init__ (self, address) :
"""
Parse the given literal IP address in "a.b.c.d" form
"""
super(IP, self).__init__(address)
def is_v4 (self) :
"""
Returns True if the address is an IPv4 address
"""
return self.version() == 4
def is_v6 (self) :
"""
Returns True if the address is an IPv6 address
"""
return self.version() == 6
class Network (IPy.IP, object) :
"""
An IPv4 network (subnet)
"""
def __init__ (self, prefix) :
"""
Parse the given prefix in "a.b.c.d/l" form
"""
super(Network, self).__init__(prefix)
class MAC (object) :
"""
A mac address
"""
def __init__ (self, mac) :
"""
Parse the given MAC address in "aa:bb:cc:dd:ee:ff" form
"""
# XXX: validate
self.mac = mac
def __str__ (self) :
return self.mac