From f5347106c760edad14b5b982856bb49b7814f747 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sun, 23 Feb 2014 15:30:04 +0100 Subject: [PATCH] =?UTF-8?q?[attributs]=20Fonctions=20de=20test=20d'egalit?= =?UTF-8?q?=C3=A9=20des=20attributs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- attributs.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/attributs.py b/attributs.py index 963e1e7..b7f6ba0 100644 --- a/attributs.py +++ b/attributs.py @@ -287,9 +287,12 @@ class Attr(object): def __ne__(self, obj): return not self == obj + def __eq__(self, item): if isinstance(item, self.__class__): return str(self) == str(item) + elif isinstance(item, Attr) and item.python_type == self.python_type: + return item.value == self.value elif self.python_type and isinstance(item, self.python_type): return self.value == item elif isinstance(item, str): @@ -306,7 +309,10 @@ class Attr(object): return self.value.__cmp__(obj) def __nonzero__(self): - return self.value.__nonzero__() + if self.value: + return True + else: + return False def parse_value(self, val): """Transforme l'attribut pour travailler avec notre validateur @@ -719,6 +725,7 @@ class solde(Attr): class dnsAttr(Attr): category = 'dns' ldap_name = "dnsAttr" + python_type = unicode def parse_value(self, val): val = val.lower()