11import os
2+ import traceback
3+ import sys
24import json
35import logging
46from ldap3 import Server , Connection , ALL
@@ -73,18 +75,23 @@ def get_group_members(self, group_name):
7375 try :
7476 member_dn = self .get_user_info (user = member )
7577 # pprint(member_dn)
76- username = str (
77- member_dn ["attributes" ][self .LDAP_USER_ATTRIBUTE ][0 ]
78- ).casefold ()
79- email = str (
80- member_dn ["attributes" ][self .LDAP_USER_MAIL_ATTRIBUTE ][
81- 0
82- ]
83- ).casefold ()
84- user_info = {"username" : username , "email" : email }
85- member_list .append (user_info )
78+ if (
79+ member_dn
80+ and member_dn ["attributes" ]
81+ and member_dn ["attributes" ][self .LDAP_USER_ATTRIBUTE ]
82+ ):
83+ username = str (
84+ member_dn ["attributes" ][self .LDAP_USER_ATTRIBUTE ][0 ]
85+ ).casefold ()
86+ email = str (
87+ member_dn ["attributes" ][
88+ self .LDAP_USER_MAIL_ATTRIBUTE
89+ ][0 ]
90+ ).casefold ()
91+ user_info = {"username" : username , "email" : email }
92+ member_list .append (user_info )
8693 except Exception as e :
87- print ( e )
94+ traceback . print_exc ( file = sys . stderr )
8895 return member_list
8996
9097 def get_user_info (self , user = None ):
@@ -106,9 +113,10 @@ def get_user_info(self, user=None):
106113 search_filter = self .LDAP_USER_FILTER .replace ("{username}" , user ),
107114 attributes = ["*" ],
108115 )
109- data = json .loads (self .conn .entries [0 ].entry_to_json ())
110- return data
116+ if len (self .conn .entries ) > 0 :
117+ data = json .loads (self .conn .entries [0 ].entry_to_json ())
118+ return data
111119 except Exception as e :
112- print ( e )
120+ traceback . print_exc ( file = sys . stderr )
113121 except Exception as e :
114- print ( e )
122+ traceback . print_exc ( file = sys . stderr )
0 commit comments