[lc_ldap] petits changements

This commit is contained in:
Antoine Durand-Gasselin 2010-07-04 07:33:15 +00:00
parent a57f02d0b2
commit 720cd96e94

View file

@ -70,6 +70,9 @@ def ldif_to_uldif(ldif):
uldif[attr] = [ unicode(val, 'utf-8') for val in vals ]
return uldif
def lc_ldap_test():
return lc_ldap(dn='cn=admin,dc=crans,dc=org', cred='75bdb64f32')
class lc_ldap(ldap.ldapobject.LDAPObject):
def __init__(self, dn=None, user=None, cred=None, uri=uri):
"""Initialise la connexion ldap,
@ -295,13 +298,12 @@ class CransLdapObject:
def check_cardinality(self, attr, vals):
"""Vérifie qu'il y a un nombre correct de valeur =1, <=1, {0,1},
etc..."""
if attr in self.ufields:
if len(vals) != 1:
raise ValueError('%s doit avoir exactement une valeur' % attr)
if attr in self.ofields:
if CRANS_ATTRIBUTES[attr]['isunique']:
if len(vals) > 1:
raise ValueError('%s doit avoir au maximum une valeur' % attr)
if not CRANS_ATTRIBUTES[attr]['isoptional']:
if len(vals) = 0:
raise ValueError('%s doit avoir au moins une valeur' % attr)
def check_type(self, attr, vals):
"""Vérifie que les valeurs ont le bon type (nom est un mot, tel
@ -324,6 +326,7 @@ class CransLdapObject:
pass
def _gen_hist(self, modifs):
# XXX - Kill it! l'historique devrait être généré par ldap
"""Genère l'historique des modifications apportées. Cette
fonction n'est là que pour de la rétro-compatibilité,
normalement les modifications sont automatiquement loggées."""