Test de script pour trouver des comptes à vérifier

This commit is contained in:
2025-08-21 15:02:42 +02:00
parent dd58f9937c
commit 04303fd3dc

View File

@ -3,6 +3,9 @@
import xml.etree.ElementTree as ET
from pathlib import Path
from scribe.eoleldap import get_etabs
from scribe.enseignants import Enseignant
from scribe.eoleldap import Ldap
current_etabs = get_etabs()[1]
@ -40,6 +43,11 @@ for xml in root.glob('**/sts_emp*.xml'):
etabs = list(set(etabs))
def guess_uid(individu):
nom = individu[0]['nom']
prenom = individu[0]['prenom']
return f"{prenom.lower()}.{nom.lower()}"
if __name__ == '__main__':
from argparse import ArgumentParser
parser = ArgumentParser()
@ -61,6 +69,18 @@ if __name__ == '__main__':
result = current_etabs
elif args.type == 'etabs':
result = etabs
elif args.type == 'candidates':
connexion = Ldap()
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]
else:
result = []
print("\n".join(sorted(result)))