@@ -39,14 +39,13 @@ def connector_initialize(options):
3939 connector = LDAPDirectoryConnector (options )
4040 return connector
4141
42- def connector_load_users_and_groups (state , groups , extended_attributes ):
42+ def connector_load_users_and_groups (state , groups ):
4343 '''
4444 :type state: LDAPDirectoryConnector
4545 :type groups: list(str)
46- :type extended_attributes: list(str)
4746 :rtype (bool, iterable(dict))
4847 '''
49- return state .load_users_and_groups (groups , extended_attributes )
48+ return state .load_users_and_groups (groups )
5049
5150class LDAPDirectoryConnector (object ):
5251 name = 'ldap'
@@ -104,10 +103,9 @@ def __init__(self, caller_options):
104103 self .connection = connection
105104 logger .info ('Connected' )
106105
107- def load_users_and_groups (self , groups , extended_attributes ):
106+ def load_users_and_groups (self , groups ):
108107 '''
109108 :type groups: list(str)
110- :type extended_attributes: list(str)
111109 :rtype (bool, iterable(dict))
112110 '''
113111 options = self .options
@@ -127,12 +125,12 @@ def load_users_and_groups(self, groups, extended_attributes):
127125
128126 self .user_by_dn = user_by_dn = {}
129127 self .user_by_uid = user_by_uid = {}
130- for user_dn , user in self .iter_users (users_filter , extended_attributes ):
128+ for user_dn , user in self .iter_users (users_filter ):
131129 uid = user .get ('uid' )
132130 if (uid != None ):
133131 user_by_uid [uid ] = user
134132 user_by_dn [user_dn ] = user
135-
133+
136134 self .logger .info ('Total users loaded: %d' , len (user_by_dn ))
137135
138136 for group in groups :
@@ -252,18 +250,15 @@ def iter_ldap_group_members(self, group):
252250 for attribute_value in attribute_values :
253251 yield (attribute , attribute_value )
254252
255- def iter_users (self , users_filter , extended_attributes ):
253+ def iter_users (self , users_filter ):
256254 options = self .options
257255 base_dn = options ['base_dn' ]
258-
259- user_attribute_names = ["givenName" , "sn" , "c" , "uid" ]
256+
257+ user_attribute_names = ["givenName" , "sn" , "c" , "uid" ]
260258 user_attribute_names .extend (self .user_email_formatter .get_attribute_names ())
261259 user_attribute_names .extend (self .user_username_formatter .get_attribute_names ())
262260 user_attribute_names .extend (self .user_domain_formatter .get_attribute_names ())
263261
264- extended_attributes -= user_attribute_names
265- user_attribute_names .extend (extended_attributes )
266-
267262 result_iter = self .iter_search_result (base_dn , ldap .SCOPE_SUBTREE , users_filter , user_attribute_names )
268263 for dn , record in result_iter :
269264 if (dn == None ):
@@ -274,53 +269,35 @@ def iter_users(self, users_filter, extended_attributes):
274269 if (last_attribute_name != None ):
275270 self .logger .warn ('No email attribute: %s for dn: %s' , last_attribute_name , dn )
276271 continue
277-
278- source_attributes = {}
279272
280273 user = user_sync .connector .helper .create_blank_user ()
281- source_attributes ['email' ] = email
282274 user ['email' ] = email
283-
275+
284276 username , last_attribute_name = self .user_username_formatter .generate_value (record )
285- source_attributes ['username' ] = username
286277 if (username == None and last_attribute_name != None ):
287278 self .logger .info ('No username attribute: %s for dn: %s' , last_attribute_name , dn )
288279 user ['username' ] = username if username != None else email
289-
280+
290281 domain , last_attribute_name = self .user_domain_formatter .generate_value (record )
291- source_attributes ['domain' ] = domain
292282 if (domain != None ):
293283 user ['domain' ] = domain
294284 elif (last_attribute_name != None ):
295285 self .logger .info ('No domain attribute: %s for dn: %s' , last_attribute_name , dn )
296286
297287 given_name_value = LDAPValueFormatter .get_attribute_value (record , 'givenName' )
298- source_attributes ['givenName' ] = given_name_value
299- if (given_name_value != None ):
288+ if (given_name_value != None ):
300289 user ['firstname' ] = given_name_value
301290 sn_value = LDAPValueFormatter .get_attribute_value (record , 'sn' )
302- source_attributes ['sn' ] = sn_value
303291 if sn_value != None :
304292 user ['lastname' ] = sn_value
305293 c_value = LDAPValueFormatter .get_attribute_value (record , 'c' )
306- source_attributes ['c' ] = c_value
307294 if c_value != None :
308295 user ['country' ] = c_value
309-
296+
310297 uid = LDAPValueFormatter .get_attribute_value (record , 'uid' )
311- source_attributes ['uid' ] = uid
312298 if (uid != None ):
313299 user ['uid' ] = uid
314-
315- if extended_attributes is not None :
316- for extended_attribute in extended_attributes :
317- extended_attribute_value = LDAPValueFormatter .get_attribute_value (record , extended_attribute )
318- source_attributes [extended_attribute ] = extended_attribute_value
319-
320- # [TODO morr 2017-02-26]: Could be omitted if no hook; worth considering?
321- # [TODO morr 2017-02-28]: Is the copy necessary? Could just assign I think
322- user ['source_attributes' ] = source_attributes .copy ()
323-
300+
324301 yield (dn , user )
325302
326303 def iter_search_result (self , base_dn , scope , filter_string , attributes ):
0 commit comments