示例#1
0
文件: users.py 项目: jcollie/secant
 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)
示例#2
0
文件: setpw.py 项目: jcollie/secant
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()
示例#3
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)
示例#4
0
文件: setpw.py 项目: jcollie/secant
 def __init__(self, username, passwords):
     self.username = username
     self.passwords = json.dumps(passwords).encode("utf-8")
     self.client = EtcdClient(reactor)
     reactor.callWhenRunning(self.setPasswords)