[lc_ldap] des modes sur allMachinesAdherents

This commit is contained in:
Valentin Samir 2013-05-14 23:28:39 +02:00
parent 8ded247691
commit 75839564e5

View file

@ -216,7 +216,7 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
ret.append(new_cransldapobject(self, dn, mode, ldif)) ret.append(new_cransldapobject(self, dn, mode, ldif))
return ret return ret
def allMachinesAdherents(self): def allMachinesAdherents(self, mode='ro'):
"""Renvoie la liste de toutes les machines et de tous les adherents """Renvoie la liste de toutes les machines et de tous les adherents
(club et Association Crans compris). Conçue pour s'éxécuter le plus (club et Association Crans compris). Conçue pour s'éxécuter le plus
rapidement possible. On dumpe malgré tout toute la base.""" rapidement possible. On dumpe malgré tout toute la base."""
@ -227,13 +227,13 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
for dn, attrs in self.search_s(base_dn, scope=2): for dn, attrs in self.search_s(base_dn, scope=2):
# On crée les listes des machines et propriétaires # On crée les listes des machines et propriétaires
if dn.startswith('mid='): # les machines if dn.startswith('mid='): # les machines
m = new_cransldapobject(self, dn, ldif = attrs) m = new_cransldapobject(self, dn, mode, ldif = attrs)
parent_dn = dn.split(',', 1)[1] parent_dn = dn.split(',', 1)[1]
if not machines.has_key(parent_dn): if not machines.has_key(parent_dn):
machines[parent_dn] = [] machines[parent_dn] = []
machines[parent_dn].append(m) machines[parent_dn].append(m)
elif (dn.startswith('aid=') or dn.startswith('cid=') or dn == base_dn) and not parent.has_key(dn): elif (dn.startswith('aid=') or dn.startswith('cid=') or dn == base_dn) and not parent.has_key(dn):
parent[dn] = new_cransldapobject(self, dn, ldif = attrs) parent[dn] = new_cransldapobject(self, dn, mode, ldif = attrs)
allmachines = [] allmachines = []
for dn,mlist in machines.iteritems(): # on associe propriétaires et machines for dn,mlist in machines.iteritems(): # on associe propriétaires et machines
parent[dn]._machines = mlist parent[dn]._machines = mlist
@ -242,20 +242,20 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
allmachines.append(m) allmachines.append(m)
return allmachines, parent.values() # on renvoie la liste des machines et des adherents (dont club et crans) return allmachines, parent.values() # on renvoie la liste des machines et des adherents (dont club et crans)
def allMachines(self): def allMachines(self, mode='ro'):
"""Renvoie la liste de toutes les machines, Conçue pour """Renvoie la liste de toutes les machines, Conçue pour
s'éxécuter le plus rapidement possible. On dumpe malgré tout s'éxécuter le plus rapidement possible. On dumpe malgré tout
toute la base, c'est pour pouvoir aussi rajouter à moindre coût toute la base, c'est pour pouvoir aussi rajouter à moindre coût
les propriétaires.""" les propriétaires."""
machines,_ = self.allMachinesAdherents() machines,_ = self.allMachinesAdherents(mode)
return machines return machines
def allAdherents(self): def allAdherents(self, mode='ro'):
"""Renvoie la liste de toutes les adherents, Conçue pour """Renvoie la liste de toutes les adherents, Conçue pour
s'éxécuter le plus rapidement possible. On dumpe malgré tout s'éxécuter le plus rapidement possible. On dumpe malgré tout
toute la base, c'est pour pouvoir aussi rajouter à moindre coût toute la base, c'est pour pouvoir aussi rajouter à moindre coût
les machines.""" les machines."""
_,adherents = self.allMachinesAdherents() _,adherents = self.allMachinesAdherents(mode)
return adherents return adherents
def newMachine(self, parent, realm, ldif, login=None): def newMachine(self, parent, realm, ldif, login=None):