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.
NETs = { 'wifi' : [ '138.231.149.0/24', '138.231.150.0/24' ],
'wifi-ens' : [ '138.231.151.0/25' ],
'wifi-invite' : [ '138.231.151.128/25'],
'b' : [ '138.231.137.0/24' ],
'm' : [ '138.231.138.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
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
self.__proprietaire = parent_or_tuple
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 ?
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
net = config.NETs['wifi-ens']
else:
else :
net = config.NETs['wifi']
elif self.__typ == 'borne' :
net = config.NETs['bornes']
@ -2013,7 +2015,7 @@ class machine(base_classes_crans) :
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 :
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)
elif 'club' in res[0][1]['objectClass'] :
self.__proprietaire = club(res[0],self._modifiable,self.conn)
elif 'invite' in res[0][0] :
self.__proprietaire = invite()
else :
print res[0]
self.__proprietaire = crans()
return self.__proprietaire
@ -2198,8 +2203,8 @@ class machine(base_classes_crans) :
if 'ports' not in self.modifs :
self.modifs.append('ports')
class crans(crans_ldap) :
""" Classe définissant l'assoce (pour affichage de ses machines) """
class _fake_proprio(crans_ldap) :
""" Définitions de base d'un propriétaire virtuel """
idn = ''
def __init__(s,conn=None):
s.conn = conn
@ -2207,10 +2212,6 @@ class crans(crans_ldap) :
s.dn = s.base_dn
def id(s) :
return ''
def Nom(s) :
return u"Crans"
def chbre(s) :
return u"CRA"
def blacklist(s) :
return []
def paiement(s) :
@ -2226,6 +2227,28 @@ class crans(crans_ldap) :
m.append(machine(r,'',s.conn))
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__' :
import sys
if 'lock' in sys.argv :