[objets] Methode pour mettre à jour la liste attribs des attributs possible de l'objets

La méthode est apprlé dès que attrs et _modis sont instancié et avant les vérifications
sur la correction des attributs.
Cela permet d'utiliser des objet "Auxilière" dans ldap plus facilement.
This commit is contained in:
Valentin Samir 2014-03-18 22:47:35 +01:00
parent 929133560d
commit 8a6e93a38a

View file

@ -108,6 +108,13 @@ class CransLdapObject(object):
attribs = [] attribs = []
def update_attribs(self):
"""
Fonction permettant de mettre à jours attribs, dès que les valeurs
des attributs ont été instancié
"""
pass
def __init__(self, conn, dn, mode='ro', uldif=None, lockId=None): def __init__(self, conn, dn, mode='ro', uldif=None, lockId=None):
''' '''
Créée une instance d'un objet Crans (machine, adhérent, Créée une instance d'un objet Crans (machine, adhérent,
@ -158,6 +165,8 @@ class CransLdapObject(object):
self.mode = mode self.mode = mode
self.update_attribs()
if mode in ['w', 'rw']: if mode in ['w', 'rw']:
# Vérification que `λv. str(Attr(v))` est bien une projection # Vérification que `λv. str(Attr(v))` est bien une projection
# C'est-à-dire que si on str(Attr(str(Attr(v)))) on retombe sur str(Attr(v)) # C'est-à-dire que si on str(Attr(str(Attr(v)))) on retombe sur str(Attr(v))
@ -1261,15 +1270,13 @@ class baseCert(CransLdapObject):
def __repr__(self): def __repr__(self):
return str(self.__class__) + " : xid=" + str(self['xid'][0]) return str(self.__class__) + " : xid=" + str(self['xid'][0])
def __init__(self, *args, **kwargs): def update_attribs(self):
super(baseCert, self).__init__(*args, **kwargs)
if "TLSACert" in self['objectClass']: if "TLSACert" in self['objectClass']:
self.attribs.extend(self.tlsa_attribs) self.attribs.extend(self.tlsa_attribs)
if 'x509Cert' in self['objectClass']: if 'x509Cert' in self['objectClass']:
self.attribs.extend(self.x509_attribs) self.attribs.extend(self.x509_attribs)
if "privateKey" in self['objectClass']: if "privateKey" in self['objectClass']:
self.attribs.extend(self.private_attribs) self.attribs.extend(self.private_attribs)
super(baseCert, self).__init__(*args, **kwargs)
def _check_setitem(self, attr, values): def _check_setitem(self, attr, values):
""" """