https://fedorahosted.org/freeipa/ticket/5923

Patch attached.

From 4e4480deef0b336ef89915b3e5dd91a12767051a Mon Sep 17 00:00:00 2001
From: Martin Basti <mba...@redhat.com>
Date: Mon, 6 Jun 2016 12:12:45 +0200
Subject: [PATCH] Py3: Fix unicode/str error in LDAP*ReverseMember

There was incorrectly used str() instead of unicode() function in py2, which causes
errors in py3.

https://fedorahosted.org/freeipa/ticket/5923
---
 ipalib/plugins/baseldap.py | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py
index e13f55057dfa61847e6091a0b3ad10f28cc94cad..c31a3d393a22ae181d07a333494bec3712a908a3 100644
--- a/ipalib/plugins/baseldap.py
+++ b/ipalib/plugins/baseldap.py
@@ -2205,9 +2205,11 @@ class LDAPAddReverseMember(LDAPModReverseMember):
                     else:
                         failed['member'][self.reverse_attr].append((attr, result['failed']['member'][self.member_attr][0][1]))
                 except errors.NotFound as e:
-                    msg = str(e)
-                    (attr, msg) = msg.split(':', 1)
-                    failed['member'][self.reverse_attr].append((attr, unicode(msg.strip())))
+                    msg = unicode(e)
+                    msg = msg.split(':', 1)[1]
+                    failed['member'][self.reverse_attr].append(
+                        (attr, msg.strip())
+                    )
 
             except errors.PublicError as e:
                 failed['member'][self.reverse_attr].append((attr, unicode(msg)))
@@ -2306,9 +2308,11 @@ class LDAPRemoveReverseMember(LDAPModReverseMember):
                     else:
                         failed['member'][self.reverse_attr].append((attr, result['failed']['member'][self.member_attr][0][1]))
                 except errors.NotFound as e:
-                    msg = str(e)
-                    (attr, msg) = msg.split(':', 1)
-                    failed['member'][self.reverse_attr].append((attr, unicode(msg.strip())))
+                    msg = unicode(e)
+                    msg = msg.split(':', 1)[1]
+                    failed['member'][self.reverse_attr].append(
+                        (attr, msg.strip())
+                    )
 
             except errors.PublicError as e:
                 failed['member'][self.reverse_attr].append((attr, unicode(msg)))
-- 
2.5.5

From 736204ba5ea38d58eda2458654a7e48a5b87c5e3 Mon Sep 17 00:00:00 2001
From: Martin Basti <mba...@redhat.com>
Date: Mon, 6 Jun 2016 12:12:45 +0200
Subject: [PATCH] Py3: Fix unicode/str error in LDAP*ReverseMember

There was incorrectly used str() instead of unicode() function in py2, which causes
errors in py3.

https://fedorahosted.org/freeipa/ticket/5923
---
 ipaserver/plugins/baseldap.py | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/ipaserver/plugins/baseldap.py b/ipaserver/plugins/baseldap.py
index bbd8ba146ead81857bbc4c2aee550b855b846be5..cd802ae2e194062e9911630fdc7a826b932bd021 100644
--- a/ipaserver/plugins/baseldap.py
+++ b/ipaserver/plugins/baseldap.py
@@ -2149,9 +2149,11 @@ class LDAPAddReverseMember(LDAPModReverseMember):
                     else:
                         failed['member'][self.reverse_attr].append((attr, result['failed']['member'][self.member_attr][0][1]))
                 except errors.NotFound as e:
-                    msg = str(e)
-                    (attr, msg) = msg.split(':', 1)
-                    failed['member'][self.reverse_attr].append((attr, unicode(msg.strip())))
+                    msg = unicode(e)
+                    msg = msg.split(':', 1)[1]
+                    failed['member'][self.reverse_attr].append(
+                        (attr, msg.strip())
+                    )
 
             except errors.PublicError as e:
                 failed['member'][self.reverse_attr].append((attr, unicode(e)))
@@ -2248,9 +2250,11 @@ class LDAPRemoveReverseMember(LDAPModReverseMember):
                     else:
                         failed['member'][self.reverse_attr].append((attr, result['failed']['member'][self.member_attr][0][1]))
                 except errors.NotFound as e:
-                    msg = str(e)
-                    (attr, msg) = msg.split(':', 1)
-                    failed['member'][self.reverse_attr].append((attr, unicode(msg.strip())))
+                    msg = unicode(e)
+                    msg = msg.split(':', 1)[1]
+                    failed['member'][self.reverse_attr].append(
+                        (attr, msg.strip())
+                    )
 
             except errors.PublicError as e:
                 failed['member'][self.reverse_attr].append((attr, unicode(e)))
-- 
2.5.5

-- 
Manage your subscription for the Freeipa-devel mailing list:
https://www.redhat.com/mailman/listinfo/freeipa-devel
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code

Reply via email to