R
rh0dium
Hi all,
I believe I am having a fundamental problem with my class and I can't
seem to figure out what I am doing wrong. Basically I want a class
which can do several specific ldap queries. So in my code I would have
multiple searches. But I can't figure out how to do it without it
barfing..
The error is straightforward ..
LDAP Version 2.0.8
Traceback (most recent call last):
File "./ldap-nsc.py", line 62, in ?
l.search()
File "./ldap-nsc.py", line 40, in search
ldap_result_id = l.search_s(baseDN, searchScope, searchAttrs,
retrieveAttrs)
AttributeError: NSCLdap instance has no attribute 'search_s'
The code is also I believe straight forward..
import ldap
class NSCLdap:
def __init__(self,server="sc-ldap.nsc.com"):
who=""; cred=""
self.server=server
try:
print "LDAP Version", ldap.__version__
l=ldap.open(server)
l.simple_bind_s(who, cred)
l.protocol_version=ldap.VERSION3
except ldap.LDAPError, error_message:
print "Couldn't Connect to %s %s " %
(server,error_message)
def search(self, baseDN="o=nsc.com",
retrieveAttrs=None,searchAttrs="cn=*klass*" ):
searchScope = ldap.SCOPE_SUBTREE
try:
ldap_result_id = l.search_s(baseDN, searchScope,
searchAttrs, retrieveAttrs)
result_set = []
while 1:
result_type, result_data = l.result(ldap_result_id, 0)
if (result_data == []):
break
else:
## here you don't have to append to a list
## you could do whatever you want with the
individual entry
## The appending to list is just for
illustration.
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
print result_set
except ldap.LDAPError, error_message:
print "Errors on Search %s " % error_message
def setBaseDN(self, baseDN="o=nsc.com"):
return baseDN
if __name__ == '__main__':
l = NSCLdap()
l.search()
I would love some pointers - clearly my code thinks that search_s is an
attribute of my class but it's not..
TIA
I believe I am having a fundamental problem with my class and I can't
seem to figure out what I am doing wrong. Basically I want a class
which can do several specific ldap queries. So in my code I would have
multiple searches. But I can't figure out how to do it without it
barfing..
The error is straightforward ..
LDAP Version 2.0.8
Traceback (most recent call last):
File "./ldap-nsc.py", line 62, in ?
l.search()
File "./ldap-nsc.py", line 40, in search
ldap_result_id = l.search_s(baseDN, searchScope, searchAttrs,
retrieveAttrs)
AttributeError: NSCLdap instance has no attribute 'search_s'
The code is also I believe straight forward..
import ldap
class NSCLdap:
def __init__(self,server="sc-ldap.nsc.com"):
who=""; cred=""
self.server=server
try:
print "LDAP Version", ldap.__version__
l=ldap.open(server)
l.simple_bind_s(who, cred)
l.protocol_version=ldap.VERSION3
except ldap.LDAPError, error_message:
print "Couldn't Connect to %s %s " %
(server,error_message)
def search(self, baseDN="o=nsc.com",
retrieveAttrs=None,searchAttrs="cn=*klass*" ):
searchScope = ldap.SCOPE_SUBTREE
try:
ldap_result_id = l.search_s(baseDN, searchScope,
searchAttrs, retrieveAttrs)
result_set = []
while 1:
result_type, result_data = l.result(ldap_result_id, 0)
if (result_data == []):
break
else:
## here you don't have to append to a list
## you could do whatever you want with the
individual entry
## The appending to list is just for
illustration.
if result_type == ldap.RES_SEARCH_ENTRY:
result_set.append(result_data)
print result_set
except ldap.LDAPError, error_message:
print "Errors on Search %s " % error_message
def setBaseDN(self, baseDN="o=nsc.com"):
return baseDN
if __name__ == '__main__':
l = NSCLdap()
l.search()
I would love some pointers - clearly my code thinks that search_s is an
attribute of my class but it's not..
TIA