KeyError while performing 'ldapsearch' operation and processing the result data
Guruprasad
lgp171188 at gmail.com
Sun Sep 20 16:02:14 CEST 2009
Hi,
I have been trying to write a function to search a LDAP directory by
using the python-ldap APIs.
Here is the code I have written:
<snip>
def getNextUid():
uidList=[]
try:
l=ldap.initialize(ldap_host)
l.bind_s(ldap_admin_dn,ldap_admin_pass)
ldap_result=l.search(ldap_base_dn,ldap.SCOPE_SUBTREE,'cn=*',['uidNumber'])
while 1:
result_type, result_data=l.result(ldap_result,0)
if (result_data == []):
break
a=result_data[0][1]['uidNumber']
print a
except ldap.SERVER_DOWN:
print "LDAP server down"
</snip>
What I am trying to do in this piece of code is get the list of the
values of 'uidNumber' attribute. The search operation returns a list
containing a tuple. The tuple contains the DN as one value and a
dictionary with uidNumber and its value. I am trying to extract the
value of the uidNumber. I found that result_data was a dictionary
having a key 'uidNumber', but when I try to print its value, I get a
KeyError. Strangely, when I print result_data.keys(), 'uidNumber' is
present.
Thank you.
Regards,
Guruprasad.
More information about the python-ldap
mailing list