diff --git a/gestion/ridtools.py b/gestion/ridtools.py index 32780806..29d6aefe 100644 --- a/gestion/ridtools.py +++ b/gestion/ridtools.py @@ -32,7 +32,6 @@ class Rid(object): Variables d'instance : - rid : le rid - type : type de rid (cf. config.rid et [1]) - - reste : le "reste" du rid (permettant de calculer l'IP par exemple) - ipv4_dispo : une IPv4 *publique* *du crans* existe pour ce rid - priv : cette machine ne doit pas être accessible de l'extérieur @@ -41,7 +40,6 @@ class Rid(object): def __init__(self, rid=None, ipv4=None): self.rid = None - self.reste = False self.type = None self.ipv4_dispo = False self.priv = False @@ -65,11 +63,6 @@ class Rid(object): self.priv = (rid & (1 << 14)) != 0 - if self.type == 'personnel-ens': - self.reste = rid & 0xff - else: - self.reste = rid & 0x7ff - def __from_ipv4(self, ip): """Peuple les champs à partir de l'ipv4 donnée""" if not isinstance(ip, netaddr.IPAddress): @@ -105,10 +98,6 @@ class Rid(object): if self.rid not in ranges: raise ValueError("%s trop hors des plages prévues pour le réseau '%s'" % (ip, self.type)) - if self.type == 'personnel-ens': - self.reste = self.rid & 0xff - else: - self.reste = self.rid & 0x7ff return self.rid def ipv4(self): @@ -121,7 +110,8 @@ class Rid(object): if not hasattr(self, '__ipv4'): if self.type != "special": net = netaddr.IPNetwork(config.NETs[self.type][0]) - self.__ipv4 = netaddr.IPAddress(net.first + self.reste) + offset = self.rid - config.rid[self.type][0][0] + self.__ipv4 = netaddr.IPAddress(net.first + offset) else: self.__ipv4 = netaddr.IPAddress(config.rid_machines_speciales[self.rid])