addr.py
changeset 7 0f9cae2d7147
parent 6 57e8168ba8c4
child 8 46d36bc33086
equal deleted inserted replaced
6:57e8168ba8c4 7:0f9cae2d7147
     1 """
       
     2     Used to define IP-address/subnet stuff
       
     3 """
       
     4 
       
     5 import IPy
       
     6 
       
     7 class IP (IPy.IP, object) :
       
     8     """
       
     9         A literal IPv4 address
       
    10     """
       
    11     
       
    12     def __init__ (self, address) :
       
    13         """
       
    14             Parse the given literal IP address in "a.b.c.d" form
       
    15         """
       
    16     
       
    17         super(IP, self).__init__(address)
       
    18     
       
    19     def is_v4 (self) :
       
    20         """
       
    21             Returns True if the address is an IPv4 address
       
    22         """
       
    23 
       
    24         return self.version() == 4
       
    25 
       
    26     def is_v6 (self) :
       
    27         """
       
    28             Returns True if the address is an IPv6 address
       
    29         """
       
    30 
       
    31         return self.version() == 6
       
    32 
       
    33 class Network (IPy.IP, object) :
       
    34     """
       
    35         An IPv4 network (subnet)
       
    36     """
       
    37 
       
    38     def __init__ (self, prefix) :
       
    39         """
       
    40             Parse the given prefix in "a.b.c.d/l" form
       
    41         """
       
    42 
       
    43         super(Network, self).__init__(prefix)
       
    44 
       
    45 class MAC (object) :
       
    46     """
       
    47         A mac address
       
    48     """
       
    49 
       
    50     def __init__ (self, mac) :
       
    51         """
       
    52             Parse the given MAC address in "aa:bb:cc:dd:ee:ff" form
       
    53         """
       
    54 
       
    55         # XXX: validate
       
    56         self.mac = mac
       
    57 
       
    58     def __str__ (self) :
       
    59         return self.mac
       
    60