[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))
return ret
def allMachinesAdherents(self):
def allMachinesAdherents(self, mode='ro'):
"""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
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):
# On crée les listes des machines et propriétaires
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]
if not machines.has_key(parent_dn):
machines[parent_dn] = []
machines[parent_dn].append(m)
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 = []
for dn,mlist in machines.iteritems(): # on associe propriétaires et machines
parent[dn]._machines = mlist
@ -242,20 +242,20 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
allmachines.append(m)
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
s'éxécuter le plus rapidement possible. On dumpe malgré tout
toute la base, c'est pour pouvoir aussi rajouter à moindre coût
les propriétaires."""
machines,_ = self.allMachinesAdherents()
machines,_ = self.allMachinesAdherents(mode)
return machines
def allAdherents(self):
def allAdherents(self, mode='ro'):
"""Renvoie la liste de toutes les adherents, Conçue pour
s'éxécuter le plus rapidement possible. On dumpe malgré tout
toute la base, c'est pour pouvoir aussi rajouter à moindre coût
les machines."""
_,adherents = self.allMachinesAdherents()
_,adherents = self.allMachinesAdherents(mode)
return adherents
def newMachine(self, parent, realm, ldif, login=None):