I have a class, which is annotated as @defer.inlineCallbacks (I want to return the machine list from this)
@defer.inlineCallbacks
def getMachines(self):
serverip = 'xx'
basedn = 'xx'
binddn = 'xx'
bindpw = 'xx'
query = '(&(cn=xx*)(objectClass=computer))'
c = ldapconnector.LDAPClientCreator(reactor, ldapclient.LDAPClient)
overrides = {basedn: (serverip, 389)}
client = yield c.connect(basedn, overrides=overrides)
yield client.bind(binddn, bindpw)
o = ldapsyntax.LDAPEntry(client, basedn)
results = yield o.search(filterText=query)
for entry in results:
for i in entry.get('name'):
self.machineList.append(i)
yield self.machineList
return
I have another class defined in another python file, where i wnat to call above method and read the machineList.
returned = LdapClass().getMachines()
print returned
The print says <Deferred at 0x10f982908>
. How can I read the list ?