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 -- http://mail.python.org/mailman/listinfo/python-list