Proprio pour les invites et adaptation de machine pour.

darcs-hash:20050309134741-41617-67b3af192f56b738cd56cf2cc4ce519dab05e738.gz
This commit is contained in:
pauget 2005-03-09 14:47:41 +01:00
parent 1b7a1edca1
commit 6309d98657
2 changed files with 35 additions and 11 deletions

View file

@ -54,6 +54,7 @@ decouvert = -10
# à cause de leur firewall et de leur patte wifi. # à cause de leur firewall et de leur patte wifi.
NETs = { 'wifi' : [ '138.231.149.0/24', '138.231.150.0/24' ], NETs = { 'wifi' : [ '138.231.149.0/24', '138.231.150.0/24' ],
'wifi-ens' : [ '138.231.151.0/25' ], 'wifi-ens' : [ '138.231.151.0/25' ],
'wifi-invite' : [ '138.231.151.128/25'],
'b' : [ '138.231.137.0/24' ], 'b' : [ '138.231.137.0/24' ],
'm' : [ '138.231.138.0/24' ], 'm' : [ '138.231.138.0/24' ],
'c' : [ '138.231.139.0/24' ], 'c' : [ '138.231.139.0/24' ],

View file

@ -1751,7 +1751,7 @@ class machine(base_classes_crans) :
# Propriéraire inconnu mais ce n'est pas grave # Propriéraire inconnu mais ce n'est pas grave
self.__proprietaire = None self.__proprietaire = None
elif t == adherent or t == club or t == crans and typ in [ 'fixe' , 'wifi' , 'borne' ] : elif t in [ adherent, club, crans, invite ] and typ in [ 'fixe' , 'wifi' , 'borne' ] :
# Machine vide # Machine vide
self.__proprietaire = parent_or_tuple self.__proprietaire = parent_or_tuple
self.dn = parent_or_tuple.dn self.dn = parent_or_tuple.dn
@ -1945,10 +1945,12 @@ class machine(base_classes_crans) :
# Dans quel réseau la machine doit-elle être placée ? # Dans quel réseau la machine doit-elle être placée ?
if self.__typ == 'wifi' : if self.__typ == 'wifi' :
if self.proprietaire().etudes(0) == "ENS" and self.proprietaire().etudes(1) == "Pers": if self.proprietaire().__class__ == invite :
net = config.NETs['wifi-invite']
elif self.proprietaire().etudes(0) == "ENS" and self.proprietaire().etudes(1) == "Pers":
# Personnel ENS # Personnel ENS
net = config.NETs['wifi-ens'] net = config.NETs['wifi-ens']
else: else :
net = config.NETs['wifi'] net = config.NETs['wifi']
elif self.__typ == 'borne' : elif self.__typ == 'borne' :
net = config.NETs['bornes'] net = config.NETs['bornes']
@ -2013,7 +2015,7 @@ class machine(base_classes_crans) :
def proprietaire(self) : def proprietaire(self) :
""" """
retroune le propriétaire de la machine (classe adherent, club ou crans) retroune le propriétaire de la machine (classe adherent, club ou crans ou invite)
""" """
if not self.__proprietaire : if not self.__proprietaire :
res = self.conn.search_s(','.join(self.dn.split(',')[1:]),0) res = self.conn.search_s(','.join(self.dn.split(',')[1:]),0)
@ -2021,7 +2023,10 @@ class machine(base_classes_crans) :
self.__proprietaire = adherent(res[0],self._modifiable,self.conn) self.__proprietaire = adherent(res[0],self._modifiable,self.conn)
elif 'club' in res[0][1]['objectClass'] : elif 'club' in res[0][1]['objectClass'] :
self.__proprietaire = club(res[0],self._modifiable,self.conn) self.__proprietaire = club(res[0],self._modifiable,self.conn)
elif 'invite' in res[0][0] :
self.__proprietaire = invite()
else : else :
print res[0]
self.__proprietaire = crans() self.__proprietaire = crans()
return self.__proprietaire return self.__proprietaire
@ -2197,9 +2202,9 @@ class machine(base_classes_crans) :
self._data.pop(champ) self._data.pop(champ)
if 'ports' not in self.modifs : if 'ports' not in self.modifs :
self.modifs.append('ports') self.modifs.append('ports')
class crans(crans_ldap) : class _fake_proprio(crans_ldap) :
""" Classe définissant l'assoce (pour affichage de ses machines) """ """ Définitions de base d'un propriétaire virtuel """
idn = '' idn = ''
def __init__(s,conn=None): def __init__(s,conn=None):
s.conn = conn s.conn = conn
@ -2207,10 +2212,6 @@ class crans(crans_ldap) :
s.dn = s.base_dn s.dn = s.base_dn
def id(s) : def id(s) :
return '' return ''
def Nom(s) :
return u"Crans"
def chbre(s) :
return u"CRA"
def blacklist(s) : def blacklist(s) :
return [] return []
def paiement(s) : def paiement(s) :
@ -2225,6 +2226,28 @@ class crans(crans_ldap) :
for r in res : for r in res :
m.append(machine(r,'',s.conn)) m.append(machine(r,'',s.conn))
return m return m
class crans(_fake_proprio) :
""" Classe définissant l'assoce (pour affichage de ses machines) """
def __init__(s,conn=None):
s.conn = conn
if not s.conn : s.connect()
s.dn = s.base_dn
def Nom(s) :
return u"Crans"
def chbre(s) :
return u"CRA"
class invite(_fake_proprio) :
""" Propriétaire des machines invité """
def __init__(s,conn=None):
s.conn = conn
if not s.conn : s.connect()
s.dn = "ou=invites," + s.base_dn
def Nom(s) :
return u"Invité"
def chbre(s) :
return u"N/A"
if __name__ == '__main__' : if __name__ == '__main__' :
import sys import sys