addr.py
author Tero Marttila <terom@fixme.fi>
Thu, 02 Apr 2009 21:11:01 +0300
changeset 3 ff98fa9b84ce
parent 1 2223ade4f259
child 4 8b633782f02d
permissions -rw-r--r--
implement comments properly
0
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
"""
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
    Used to define IP-address/subnet stuff
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
"""
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
import IPy
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
class IP (IPy.IP, object) :
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
    """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
        A literal IPv4 address
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
    """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
    
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
    def __init__ (self, address) :
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
        """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
            Parse the given literal IP address in "a.b.c.d" form
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
        """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
    
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
        super(IP, self).__init__(address)
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
class Network (IPy.IP, object) :
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
    """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
        An IPv4 network (subnet)
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
    def __init__ (self, prefix) :
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
        """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
            Parse the given prefix in "a.b.c.d/l" form
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
        """
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
        super(Network, self).__init__(prefix)
257003279747 initial code
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
1
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    31
class MAC (object) :
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    32
    """
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    33
        A mac address
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    34
    """
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    35
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    36
    def __init__ (self, mac) :
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    37
        """
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    38
            Parse the given MAC address in "aa:bb:cc:dd:ee:ff" form
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    39
        """
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    40
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    41
        # XXX: validate
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    42
        self.mac = mac
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    43
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    44
    def __str__ (self) :
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    45
        return self.mac
2223ade4f259 continue the overengineering effort, we are now able to generate dhcpd.conf files
Tero Marttila <terom@fixme.fi>
parents: 0
diff changeset
    46