Cas d'un attribut binary

C'est un peu moche comme on s'est efforcé que dans lc_ldap tout soit un unicode et que
unicode n'a pas de sens pour un objet binaire. Avec le champ python_type = str sur les
attributs bianire, ça a tout de même l'air d'aller.
This commit is contained in:
Valentin Samir 2014-02-22 23:09:29 +01:00
parent 44936fde9d
commit 43f4ba650a
2 changed files with 27 additions and 3 deletions

View file

@ -67,7 +67,14 @@ def ldif_to_uldif(ldif):
"""
uldif = {}
for attr, vals in ldif.items():
uldif[attr] = [ unicode(val, 'utf-8') for val in vals ]
if attr.endswith(';binary'):
binary = True
attr=attr[:-7]
else:
binary = False
attr_class = attributs.AttributeFactory.get(attr, fallback=attributs.Attr)
binary = binary or attr_class.binary
uldif[attr] = [ unicode(val, 'utf-8') if not binary else val for val in vals ]
return uldif
class lc_ldap(ldap.ldapobject.LDAPObject, object):