[lc_ldap, attributs] less Attrs doivent pouvoir accéder à conn

This commit is contained in:
Antoine Durand-Gasselin 2010-10-16 17:38:52 +02:00
parent 72e7f49f6c
commit d69d651282
2 changed files with 10 additions and 14 deletions

View file

@ -51,7 +51,7 @@ def validate_mac(value):
"""Vérifie qu'une adresse mac est valide"""
return True
def attrify(val, attr, ldif, ctxt_check = True):
def attrify(val, attr, ldif, conn, ctxt_check = True):
"""Transforme un n'importe quoi en Attr.
Doit effectuer les normalisations et sanity check si un str ou un
@ -63,14 +63,15 @@ def attrify(val, attr, ldif, ctxt_check = True):
if isinstance(val, Attr):
return val
else:
return CRANS_ATTRIBUTES[attr](val, ldif, ctxt_check)
return CRANS_ATTRIBUTES[attr](val, ldif, conn, ctxt_check)
class Attr(object):
legend = "Human-readable description of attribute"
singlevalue = None
optional = None
conn = None
def __init__(self, val, ldif, ctxt_check):
def __init__(self, val, ldif, conn, ctxt_check):
"""Crée un nouvel objet représentant un attribut.
val: valeur de l'attribut
@ -78,6 +79,7 @@ class Attr(object):
ctxt_check: effectue les validations
"""
self.value = None
self.conn = conn
assert isinstance(val, unicode)
self.parse_value(val)
if ctxt_check:
@ -106,12 +108,6 @@ class Attr(object):
if not self.optional and len(values) == 0:
raise ValueError('%s doit avoir au moins une valeur' % self.__class__)
def _check_type(self, values):
"""Vérifie que les valeurs ont le bon type (nom est un mot, tel
est un nombre, etc...)"""
for val in values:
assert isinstance(val, unicode)
def _check_uniqueness(self):
"""Vérifie l'unicité dans la base de la valeur (mailAlias, chbre,
etc...)"""