Revision beb81ea5 lib/network.py
b/lib/network.py | ||
---|---|---|
63 | 63 |
self.reservations = bitarray(self.net.reservations) |
64 | 64 |
else: |
65 | 65 |
self.reservations = bitarray(self.network.numhosts) |
66 |
# pylint: disable=E1103 |
|
66 | 67 |
self.reservations.setall(False) |
67 | 68 |
|
68 | 69 |
if self.net.ext_reservations: |
69 | 70 |
self.ext_reservations = bitarray(self.net.ext_reservations) |
70 | 71 |
else: |
71 | 72 |
self.ext_reservations = bitarray(self.network.numhosts) |
73 |
# pylint: disable=E1103 |
|
72 | 74 |
self.ext_reservations.setall(False) |
73 | 75 |
|
74 | 76 |
assert len(self.reservations) == self.network.numhosts |
75 | 77 |
assert len(self.ext_reservations) == self.network.numhosts |
76 | 78 |
|
77 |
def _Contains(self, address):
|
|
79 |
def Contains(self, address): |
|
78 | 80 |
if address is None: |
79 | 81 |
return False |
80 | 82 |
addr = ipaddr.IPAddress(address) |
... | ... | |
90 | 92 |
|
91 | 93 |
return int(addr) - int(self.network.network) |
92 | 94 |
|
93 |
def _Update(self):
|
|
95 |
def Update(self): |
|
94 | 96 |
"""Write address pools back to the network object""" |
97 |
# pylint: disable=E1103 |
|
95 | 98 |
self.net.ext_reservations = self.ext_reservations.to01() |
96 | 99 |
self.net.reservations = self.reservations.to01() |
97 | 100 |
|
... | ... | |
101 | 104 |
self.ext_reservations[idx] = value |
102 | 105 |
else: |
103 | 106 |
self.reservations[idx] = value |
104 |
self._Update()
|
|
107 |
self.Update() |
|
105 | 108 |
|
106 | 109 |
def _GetSize(self): |
107 | 110 |
return 2**(32 - self.network.prefixlen) |
... | ... | |
173 | 176 |
def _iter_free(): |
174 | 177 |
for idx in self.all_reservations.search("0", 64): |
175 | 178 |
yield str(self.network[idx]) |
176 |
|
|
179 |
# pylint: disable=E1101 |
|
177 | 180 |
return _iter_free().next |
178 | 181 |
|
179 | 182 |
def GetExternalReservations(self): |
... | ... | |
189 | 192 |
|
190 | 193 |
""" |
191 | 194 |
obj = cls(net) |
192 |
obj._Update()
|
|
195 |
obj.Update() |
|
193 | 196 |
for ip in [obj.network[0], obj.network[-1]]: |
194 | 197 |
obj.Reserve(ip, external=True) |
195 | 198 |
if obj.net.gateway is not None: |
Also available in: Unified diff