[objets] Propagation du default donné par .get dans .__getitem__

This commit is contained in:
Valentin Samir 2014-02-14 00:39:12 +01:00
parent ca170c19f4
commit 0486929a5a

View file

@ -390,17 +390,17 @@ class CransLdapObject(object):
def get(self, attr, default): def get(self, attr, default):
"""Renvoie l'attribut demandé ou default si introuvable""" """Renvoie l'attribut demandé ou default si introuvable"""
try: try:
return self[attr] return self.__getitem__(attr, default)
except KeyError: except KeyError:
return default return default
def __getitem__(self, attr): def __getitem__(self, attr, default=None):
if self._modifs.has_key(attr) and self.mode in [ 'w', 'rw' ]: if self._modifs.has_key(attr) and self.mode in [ 'w', 'rw' ]:
return [ v for v in self._modifs[attr] ] return [ v for v in self._modifs[attr] ]
elif self.attrs.has_key(attr): elif self.attrs.has_key(attr):
return [ v for v in self.attrs[attr] ] return [ v for v in self.attrs[attr] ]
elif self.has_key(attr): elif self.has_key(attr):
return [] return [] if default is None else default
raise KeyError(attr) raise KeyError(attr)
def has_key(self, attr): def has_key(self, attr):