[lc_ldap] search by unicode string
This commit is contained in:
parent
57944ade6f
commit
80929daddd
1 changed files with 6 additions and 2 deletions
|
@ -55,6 +55,7 @@ if not "/usr/scripts/" in sys.path:
|
|||
sys.path.append('/usr/scripts/')
|
||||
|
||||
import gestion.config as config
|
||||
import cranslib.deprecated
|
||||
|
||||
# A priori, ldif_to_uldif et ldif_to_cldif sont obsolètes,
|
||||
# du fait de l'apparition de AttrsDict dans attributs.py
|
||||
|
@ -166,11 +167,14 @@ class lc_ldap(ldap.ldapobject.LDAPObject, object):
|
|||
dn = res[0][0]
|
||||
return dn
|
||||
|
||||
def search(self, filterstr='(objectClass=*)', mode='ro', dn=variables.base_dn, scope=ldap.SCOPE_SUBTREE, sizelimit=1000):
|
||||
def search(self, filterstr=u'(objectClass=*)', mode='ro', dn=variables.base_dn, scope=ldap.SCOPE_SUBTREE, sizelimit=1000):
|
||||
"""La fonction de recherche dans la base LDAP qui renvoie un liste de
|
||||
:py:class:`CransLdapObject`. On utilise la feature de ``sizelimit`` de
|
||||
``python-ldap``"""
|
||||
ldap_res = self.search_ext_s(dn, scope, filterstr, sizelimit=sizelimit)
|
||||
if not isinstance(filterstr, unicode):
|
||||
cranslib.deprecated.usage("search ne devrait utiliser que des unicode comme filtre(%r)" % filterstr, level=3)
|
||||
filterstr = filterstr.decode('utf-8')
|
||||
ldap_res = self.search_ext_s(dn, scope, filterstr.encode('utf-8'), sizelimit=sizelimit)
|
||||
ret = []
|
||||
for dn, ldif in ldap_res:
|
||||
uldif = ldif_to_uldif(ldif)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue