From d87fc3a38cf40d6a1125963d0678996e87abb31c Mon Sep 17 00:00:00 2001 From: Benjamin Bohard Date: Mon, 25 Aug 2025 09:54:46 +0200 Subject: [PATCH] =?UTF-8?q?Utiliser=20le=20Scribe=20de=20la=20CI=20EOLE=20?= =?UTF-8?q?pour=20cr=C3=A9er=20les=20=C3=A9tablissements=20manquant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- add_etab.py | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 add_etab.py diff --git a/add_etab.py b/add_etab.py new file mode 100755 index 0000000..f16ddf4 --- /dev/null +++ b/add_etab.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# -*- coding: UTF-8 -*- +# pylint: disable=E0401 +import traceback +import sys +import os +import ldap +from scribe.errors import LdapExistingGroup +from scribe.eolegroup import Group + +sys.path.append('/usr/share') +from ead2.backend.actions.scribe.tool.etablissements import add_etab + +name = sys.argv[1] +print("Ajout de l'établissement {}".format(name)) +try: + add_etab(name) +except ldap.ALREADY_EXISTS as existe: + pass +except Exception as e: + traceback.print_stack(e) + +grp = Group() +try: + print('Ajout de groupe Etablissement ' + name) + grp.add('Etablissement', name, domaine='restreint', partage='rw', description=name) +except LdapExistingGroup as existe: + pass +except Exception as e: + traceback.print_stack(e) + +try: + print('Ajout de eleves-' + name) + grp.add('Base', 'eleves-' + name, etab=name, description='eleves-' + name) +except LdapExistingGroup as existe: + pass +except Exception as e: + traceback.print_stack(e) + +try: + print('Ajout de profs-' + name) + grp.add('Base', 'profs-' + name, partage='rw', etab=name, description='profs-' + name) +except LdapExistingGroup as existe: + pass +except Exception as e: + traceback.print_stack(e) + +try: + print('Ajout de admin-' + name) + grp.add('Groupe', 'admin-' + name, etab=name, description='admin-' + name) +except LdapExistingGroup as existe: + pass +except Exception as e: + traceback.print_stack(e) + +try: + print('Ajout de invite-' + name) + grp.add('Base', 'invite-' + name, etab=name, description='invite-' + name) +except LdapExistingGroup as existe: + pass +except Exception as e: + traceback.print_stack(e) + + +if os.path.isfile('/usr/sbin/checkmultietab'): + os.system('/usr/sbin/checkmultietab')