diff --git a/lc_ldap.py b/lc_ldap.py index deed01f..1a2e1e6 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -531,24 +531,33 @@ class proprio(CransLdapObject): mfields = [ 'paiement', 'info', 'blacklist', 'controle'] ofields = [] xfields = [] - _machines = None + + def __init__(self, conn, dn, mode='ro', ldif = None): + super(proprio, self).__init__(conn, dn, mode, ldif) + self._machines = [] + def machines(self): - if self._machines == None: + if not self._machines: self._machines = self.conn.search_s('mid=*', dn = self.dn, scope = 1) for m in self._machines: m._proprio = self return self._machines class machine(CransLdapObject): - _proprio = None ufields = ['mid', 'macAddress', 'host', 'midType'] ofields = [] mfields = ['info', 'blacklist', 'hostAlias', 'exempt', 'portTCPout', 'portTCPin', 'portUDPout', 'portUDPin'] xfields = ['ipHostNumber'] + + def __init__(self, conn, dn, mode='ro', ldif = None): + super(machine, self).__init__(conn, dn, mode, ldif) + self._proprio = None + def proprio(self): parent_dn = self.dn.split(',', 1)[1] - self._proprio = new_cransldapobject(self.conn, parent_dn, self.mode) + if not self._proprio: + self._proprio = new_cransldapobject(self.conn, parent_dn, self.mode) return self._proprio