diff options
author | Petr Viktorin <pviktori@redhat.com> | 2015-10-14 15:02:51 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2016-02-17 10:41:29 +0100 |
commit | fe7bd367285618245ce1e203b49418d2ab675dbb (patch) | |
tree | df299da8f3d1e6445b8ae543559b2625a2e1f3a7 /ipapython | |
parent | 831856ea55abb11139114c4c74563a13b6a1b6cf (diff) | |
download | freeipa-fe7bd367285618245ce1e203b49418d2ab675dbb.tar.gz freeipa-fe7bd367285618245ce1e203b49418d2ab675dbb.tar.xz freeipa-fe7bd367285618245ce1e203b49418d2ab675dbb.zip |
ipaldap, ldapupdate: Encoding fixes for Python 3
https://fedorahosted.org/freeipa/ticket/5638
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipapython')
-rw-r--r-- | ipapython/ipaldap.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ipapython/ipaldap.py b/ipapython/ipaldap.py index 28bfcb5c2..7522c504b 100644 --- a/ipapython/ipaldap.py +++ b/ipapython/ipaldap.py @@ -346,11 +346,16 @@ class LDAPEntry(collections.MutableMapping): return self._names[name] if self._conn.schema is not None: + if six.PY2: + encoded_name = name.encode('utf-8') + else: + encoded_name = name attrtype = self._conn.schema.get_obj( - ldap.schema.AttributeType, name.encode('utf-8')) + ldap.schema.AttributeType, encoded_name) if attrtype is not None: for altname in attrtype.names: - altname = altname.decode('utf-8') + if six.PY2: + altname = altname.decode('utf-8') self._names[altname] = name self._names[name] = name @@ -774,8 +779,9 @@ class LDAPClient(object): if not self._decode_attrs: return bytes - if isinstance(name_or_oid, unicode): - name_or_oid = name_or_oid.encode('utf-8') + if six.PY2: + if isinstance(name_or_oid, unicode): + name_or_oid = name_or_oid.encode('utf-8') # Is this a special case attribute? if name_or_oid in self._SYNTAX_OVERRIDE: |