Ajout d’un script à tester pour la purge des comptes non affectés

This commit is contained in:
2025-08-21 09:34:49 +02:00
parent b39dc559b0
commit 014972c012

View File

@ -0,0 +1,33 @@
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
from scribe.eoleldap import Ldap
from scribe.enseignant import Enseignant
connection = Ldap()
connection.connect()
def get_unaffected_enseignants():
members = set([user
for etab in connection._search("(&(objectClass=eolegroupe)(type=etablissement))", ['memberUid'])
for user in etab[1].get('memberUid', [])])
users = set([user[1]['uid'][0]
for user in connection._search("(objectClass=administrateur)", ['uid'])])
unaffected_users = users.difference(members)
return unaffected_users
if __name__ == "__main__":
from argparse import ArgumentParser
parser = ArgumentParser(description="Purge des comptes enseignants non affectés")
parser.add_argument("-s", "--save", action="store_true", help="Archiver les données personnelles")
args = parser.parse_args()
remove_data = not args.save
enseignant = Enseignant()
for unaffected_enseignant in get_unaffected_enseignants():
enseignant._delete(unaffected_enseignant, remove_data=remove_data)