Fonction de hash pour les cransLdapObject. Seulement en ro. En rw on lève une exception.

En effet, python n'aime pas que les objets multables soient utilisé dans des sets
ou comme clef de dictionnaire, du coup, on va essayer de ne pas le contrarier.
De toute façon, c'est logique vu que la valeur du hash change si on édite l'objet.
This commit is contained in:
Valentin Samir 2014-02-21 18:00:19 +01:00
parent fe14eb9d4b
commit 592cd16357
2 changed files with 20 additions and 0 deletions

View file

@ -272,6 +272,8 @@ class Attr(object):
self.parse_value(val)
def __hash__(self):
if not self.parent or self.parent.mode in ['w', 'rw']:
raise TypeError("Mutable structure are not hashable, please use mode = 'ro' to do so")
if hasattr(self.value, "__hash__") and self.value.__hash__ is not None:
return self.value.__hash__()
else: