From 68ba8ebd9fa8c33a0be61342a8a2e82dfda1c4dd Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Wed, 8 May 2013 04:05:42 +0200 Subject: [PATCH] =?UTF-8?q?[attributs,=20lc=5Fldap]=20Gros=20hack=20sale.?= =?UTF-8?q?=20=C3=87a=20serait=20peut=20=C3=AAtre=20mieux=20d'avoir=20des?= =?UTF-8?q?=20unicodes=20vraiment=20partout.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- attributs.py | 7 +++---- lc_ldap.py | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/attributs.py b/attributs.py index 66f4aca..7b462a8 100644 --- a/attributs.py +++ b/attributs.py @@ -97,6 +97,8 @@ def attrify(val, attr, conn, Parent=None): if isinstance(val, Attr): return val else: + if not isinstance(val, unicode): + val = val.decode('utf-8') return CRANS_ATTRIBUTES.get(attr, Attr)(val, conn, Parent) @@ -113,10 +115,7 @@ class AttrsDict(dict) : values = [ values ] output = [] for val in values: - if not isinstance(val, Attr): - output.append(attrify(unicode(val, 'utf-8'), attr, self._conn, self._parent)) - else: - output.append(val) + output.append(attrify(val , attr, self._conn, self._parent)) self[attr] = output return output diff --git a/lc_ldap.py b/lc_ldap.py index 87367b2..83e9614 100644 --- a/lc_ldap.py +++ b/lc_ldap.py @@ -545,7 +545,7 @@ class CransLdapObject(object): ###ATTENTION : C'est un kludge pour pouvoir continuer à faire "comme avant", ### mais on devrait tout recoder pour utiliser l'historique LDAP""" assert isinstance(login, str) or isinstance(login, unicode) - assert isinstance(chain, str) + assert isinstance(chain, str) or isinstance(chain, unicode) new_line = "%s, %s : %s" % (time.strftime("%d/%m/%Y %H:%M"), login, chain) # Attention, le __setitem__ est surchargé, mais pas .append sur l'historique