def __init__(self, username): defer.Deferred.__init__(self) self.log.debug('looking for user: {u:}', u = username) self.username = username self.client = EtcdClient(reactor) d = self.client.get('/secant/users/{}/passwords'.format(self.username)) d.addCallbacks(self.gotResponse, self.errResponse)
class Main(object): def __init__(self, username, passwords): self.username = username self.passwords = json.dumps(passwords).encode("utf-8") self.client = EtcdClient(reactor) reactor.callWhenRunning(self.setPasswords) def setPasswords(self): d = self.client.set("/secant/users/{}/passwords".format(self.username), value=self.passwords) d.addCallback(self.finish) def finish(self, result): reactor.stop()
class find_user(defer.Deferred): log = Logger() def __init__(self, username): defer.Deferred.__init__(self) self.log.debug('looking for user: {u:}', u = username) self.username = username self.client = EtcdClient(reactor) d = self.client.get('/secant/users/{}/passwords'.format(self.username)) d.addCallbacks(self.gotResponse, self.errResponse) def gotResponse(self, response): passwords = json.loads(response.node.value) passwords_index = response.node.modifiedIndex self.callback(User(username = self.username, passwords = passwords, passwords_index = response.node.modifiedIndex)) def errResponse(self, failure): self.errback(failure)
def __init__(self, username, passwords): self.username = username self.passwords = json.dumps(passwords).encode("utf-8") self.client = EtcdClient(reactor) reactor.callWhenRunning(self.setPasswords)