server/sources/ldapfeed.py
changeset 10612 84468b90e9c1
parent 10011 340d4ef55b6f
child 10662 10942ed172de
equal deleted inserted replaced
10611:f4dec0cca9a1 10612:84468b90e9c1
    18 """cubicweb ldap feed source"""
    18 """cubicweb ldap feed source"""
    19 
    19 
    20 from __future__ import division # XXX why?
    20 from __future__ import division # XXX why?
    21 
    21 
    22 from datetime import datetime
    22 from datetime import datetime
       
    23 
       
    24 from six import string_types
    23 
    25 
    24 import ldap
    26 import ldap
    25 from ldap.ldapobject import ReconnectLDAPObject
    27 from ldap.ldapobject import ReconnectLDAPObject
    26 from ldap.filter import filter_format
    28 from ldap.filter import filter_format
    27 from ldapurl import LDAPUrl
    29 from ldapurl import LDAPUrl
   374                     itemdict[key] = value = value[0]
   376                     itemdict[key] = value = value[0]
   375                 else:
   377                 else:
   376                     itemdict[key] = value
   378                     itemdict[key] = value
   377         # we expect memberUid to be a list of user ids, make sure of it
   379         # we expect memberUid to be a list of user ids, make sure of it
   378         member = self.group_rev_attrs['member']
   380         member = self.group_rev_attrs['member']
   379         if isinstance(itemdict.get(member), basestring):
   381         if isinstance(itemdict.get(member), string_types):
   380             itemdict[member] = [itemdict[member]]
   382             itemdict[member] = [itemdict[member]]
   381         return itemdict
   383         return itemdict
   382 
   384 
   383     def _process_no_such_object(self, cnx, dn):
   385     def _process_no_such_object(self, cnx, dn):
   384         """Some search return NO_SUCH_OBJECT error, handle this (usually because
   386         """Some search return NO_SUCH_OBJECT error, handle this (usually because