print "Delete" print "*" * 80 obj = ObjectProxy(u"cn=Eike Kunst,ou=people,dc=gonicus,dc=de") obj.remove() print "*" * 80 print "Extend or retract" print "*" * 80 obj = ObjectProxy(u"cn=Claudia Mustermann,ou=people,dc=gonicus,dc=de") et = obj.get_extension_types() if 'PosixUser' in et and not et['PosixUser']: obj.extend('PosixUser') obj.homeDirectory = '/home/' + obj.uid obj.gidNumber = 4711 obj.commit() else: obj.retract('PosixUser') print "*" * 80 print "Search" print "*" * 80 for entry in ie.search(base=u"dc=gonicus,dc=de", scope=SCOPE_SUB, fltr={'sn': u'Mustermann'}, attrs=['_dn']): obj = ObjectProxy(entry['_dn']) print "* Found", obj.dn print " Parent DN:", obj.get_parent_dn() print " Type:", obj.get_base_type() print " Extensions:", ", ".join(e for e, i in obj.get_extension_types().items() if i)