[attributs, lc_ldap] Gros hack sale. Ça serait peut être mieux d'avoir des unicodes vraiment partout.

This commit is contained in:
Valentin Samir 2013-05-08 04:05:42 +02:00
parent 4d550e734b
commit 68ba8ebd9f
2 changed files with 4 additions and 5 deletions

View file

@ -97,6 +97,8 @@ def attrify(val, attr, conn, Parent=None):
if isinstance(val, Attr): if isinstance(val, Attr):
return val return val
else: else:
if not isinstance(val, unicode):
val = val.decode('utf-8')
return CRANS_ATTRIBUTES.get(attr, Attr)(val, conn, Parent) return CRANS_ATTRIBUTES.get(attr, Attr)(val, conn, Parent)
@ -113,10 +115,7 @@ class AttrsDict(dict) :
values = [ values ] values = [ values ]
output = [] output = []
for val in values: for val in values:
if not isinstance(val, Attr): output.append(attrify(val , attr, self._conn, self._parent))
output.append(attrify(unicode(val, 'utf-8'), attr, self._conn, self._parent))
else:
output.append(val)
self[attr] = output self[attr] = output
return output return output

View file

@ -545,7 +545,7 @@ class CransLdapObject(object):
###ATTENTION : C'est un kludge pour pouvoir continuer à faire "comme avant", ###ATTENTION : C'est un kludge pour pouvoir continuer à faire "comme avant",
### mais on devrait tout recoder pour utiliser l'historique LDAP""" ### mais on devrait tout recoder pour utiliser l'historique LDAP"""
assert isinstance(login, str) or isinstance(login, unicode) 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) 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 # Attention, le __setitem__ est surchargé, mais pas .append sur l'historique