コード例 #1
0
ファイル: users.py プロジェクト: jcollie/secant
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)