From 720cd96e947461546fb308d99ca568a281ce624f Mon Sep 17 00:00:00 2001 From: Antoine Durand-Gasselin Date: Sun, 4 Jul 2010 07:33:15 +0000 Subject: [PATCH] [lc_ldap] petits changements --- lc_ldap.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lc_ldap.py b/lc_ldap.py index 3a5d296..37925fd 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -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."""