From 9b4b41223934f6eadd3ebfc891e78a2f1eb47c4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cesar=20Caballero=20D=C3=ADaz?= Date: Thu, 12 Apr 2018 12:25:30 -0400 Subject: [PATCH] Fixed Python 3.x LDAP bug on user fistname and lastname part --- gluon/contrib/login_methods/ldap_auth.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gluon/contrib/login_methods/ldap_auth.py b/gluon/contrib/login_methods/ldap_auth.py index 4c07b757..d12ed83d 100644 --- a/gluon/contrib/login_methods/ldap_auth.py +++ b/gluon/contrib/login_methods/ldap_auth.py @@ -398,17 +398,25 @@ def ldap_auth(server='ldap', if manage_user: logger.info('[%s] Manage user data' % str(username)) try: + user_firstname = result[user_firstname_attrib][0] if user_firstname_part is not None: - store_user_firstname = result[user_firstname_attrib][0].split(' ', 1)[user_firstname_part] + store_user_firstname = user_firstname.split( + b' ' if isinstance(user_firstname, bytes) else ' ', + 1 + )[user_firstname_part] else: - store_user_firstname = result[user_firstname_attrib][0] + store_user_firstname = user_firstname except KeyError as e: store_user_firstname = None try: + user_lastname = result[user_lastname_attrib][0] if user_lastname_part is not None: - store_user_lastname = result[user_lastname_attrib][0].split(' ', 1)[user_lastname_part] + store_user_lastname = user_lastname.split( + b' ' if isinstance(user_lastname, bytes) else ' ', + 1 + )[user_lastname_part] else: - store_user_lastname = result[user_lastname_attrib][0] + store_user_lastname = user_lastname except KeyError as e: store_user_lastname = None try: