Chercher les individus pour évaluer le fonctionnement

This commit is contained in:
2025-08-25 09:30:53 +02:00
parent 4cd77804ed
commit 2f1bfb6e5d

View File

@ -74,13 +74,24 @@ if __name__ == '__main__':
connexion.connect()
user = Enseignant()
user.ldap_admin = connexion
candidates = {user.get_attr(candidate, 'intid')[0]: [etab]
for etab in etabs
for candidate in connexion._search('(&(objectclass=eolegroupe)(type=etablissement)(cn={etab}))'.format(etab=etab),
['memberUid'])[0][1]['memberUid']
if user._is_enseignant(candidate)}
result = ["{}\t{}".format(e[0]['nom'], " ".join(sorted(set(e)) + candidates[candidate])) for candidate in candidates for e in repartition[candidate] if len(set(e)) > 1]
members = []
for etab in etabs:
etab_group = connexion._search('(&(objectclass=eolegroupe)(type=etablissement)(cn={etab}))'.format(etab=etab),
['memberUid'])
if etab_group:
enseignants = [enseignant
for enseignant in etab_group[0][1].get('memberUid', [])
if user._is_enseignant(enseignant)]
members.extend(enseignants)
members = sorted(list(set(members)))
result = []
for member, ind in [(member, user.get_attr(member, 'intid')) for member in members]:
user_etabs = set(repartition.get(ind[0], []) + user.get_etab(member, multi_etabs=True))
if len(user_etabs) > 1:
partial_result = (member, ind[0], *sorted(user_etabs))
result.append(partial_result)
result.sort(key=lambda x: x[2:])
result = [f"{el[0]}\t\t{el[1]}\t{' '.join(el[2:])}" for el in result]
else:
result = []
print("\n".join(sorted(result)))