diff --git a/lc_ldap.py b/lc_ldap.py index 0dab51f..81a62b5 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -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):