diff --git a/objets.py b/objets.py index daf9e36..3e0615c 100644 --- a/objets.py +++ b/objets.py @@ -108,6 +108,13 @@ class CransLdapObject(object): 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): ''' Créée une instance d'un objet Crans (machine, adhérent, @@ -158,6 +165,8 @@ class CransLdapObject(object): self.mode = mode + self.update_attribs() + if mode in ['w', 'rw']: # 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)) @@ -1261,15 +1270,13 @@ class baseCert(CransLdapObject): def __repr__(self): return str(self.__class__) + " : xid=" + str(self['xid'][0]) - def __init__(self, *args, **kwargs): - super(baseCert, self).__init__(*args, **kwargs) + def update_attribs(self): if "TLSACert" in self['objectClass']: self.attribs.extend(self.tlsa_attribs) if 'x509Cert' in self['objectClass']: self.attribs.extend(self.x509_attribs) if "privateKey" in self['objectClass']: self.attribs.extend(self.private_attribs) - super(baseCert, self).__init__(*args, **kwargs) def _check_setitem(self, attr, values): """