Commit 97b1db8a authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue
Browse files

[ridtools] Oubli de modif par rapport aux rids

parent a442fd6b
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import netaddr import netaddr
import itertools
import config import config
class Rid(object): class Rid(object):
...@@ -83,8 +83,8 @@ class Rid(object): ...@@ -83,8 +83,8 @@ class Rid(object):
self.ipv4_dispo = True self.ipv4_dispo = True
self.priv = ip.is_private() self.priv = ip.is_private()
for tp in ['fil', 'adherents', 'wifi', 'adm', 'gratuit', 'personnel-ens', 'serveurs']: for tp in config.NETs_primaires.keys():
for net in config.NETs[tp]: for net in config.NETs_primaires[tp]:
if ip in netaddr.IPNetwork(net): if ip in netaddr.IPNetwork(net):
self.type = tp self.type = tp
break break
...@@ -99,11 +99,12 @@ class Rid(object): ...@@ -99,11 +99,12 @@ class Rid(object):
else: else:
raise ValueError("%s dans aucun des réseaux gérés par le Cr@ns..." % ip) raise ValueError("%s dans aucun des réseaux gérés par le Cr@ns..." % ip)
ranges = itertools.chain(*[xrange(a, b+1) for (a,b) in config.rid[self.type]])
if not self.rid: if not self.rid:
self.rid = config.rid[self.type][0] + ip.value - netaddr.IPNetwork(config.NETs[self.type][0]).value self.rid = config.rid[self.type][0][0] + ip.value - netaddr.IPNetwork(config.NETs[self.type][0]).value
if self.rid > config.rid[self.type][1]: if self.rid not in ranges:
raise ValueError("%s trop élevée pour le réseau '%s'" % (ip, self.type)) raise ValueError("%s trop hors des plages prévues pour le réseau '%s'" % (ip, self.type))
if self.type == 'personnel-ens': if self.type == 'personnel-ens':
self.reste = self.rid & 0xff self.reste = self.rid & 0xff
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment