purge-groupes.py
1 |
# -*- coding: utf-8 -*-
|
---|---|
2 |
from scribe.eolegroup import Group |
3 |
from scribe.ldapconf import GROUP_DN, GROUP_FILTER |
4 |
from pyeole.ihm import question_ouinon |
5 |
grp = Group() |
6 |
grp.ldap_admin.connect() |
7 |
for typ in ['Option', 'Groupe']: |
8 |
filtre = "(!(memberUid=*))(type=%s)" % typ
|
9 |
empty = grp.ldap_admin._search("(&%s%s)" % (GROUP_FILTER, filtre), ['cn']) |
10 |
if len(empty) == 0: |
11 |
print "Aucun groupe de type %s n'est vide" % typ |
12 |
continue
|
13 |
print
|
14 |
print "%d groupes de type %s sont vides" % (len(empty), |
15 |
typ) |
16 |
if question_ouinon("Voulez-vous supprimer ces groupes ?") == 'non': |
17 |
print "Aucune modification pour les groupes de type %s" % typ |
18 |
continue
|
19 |
rmdir = question_ouinon("Supprimer également les répertoires des groupes de type %s" % typ) == 'oui' |
20 |
for todel in empty: |
21 |
name = todel[1]['cn'][0] |
22 |
print "Suppression du groupe %s" % name |
23 |
grp._delete(name, rmdir=rmdir) |
24 |
|