Project

General

Profile

purge-groupes.py

Premier jet (testé 2.4) - Joël Cuissinat, 02/17/2015 05:25 PM

Download (979 Bytes)

 
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