Exemplo n.º 1
0
class AsyncRedisConnection(connection.Connection):
    request_class = AsyncRedisRequest
    
    def _connect(self):
        self.stream = AsyncIOStream(self._sock)
        return self.stream.connect(self.address, self.on_connect)
        
    def on_connect(self, result = None):
        "Initialize the connection, authenticate and select a database"
        # if a password is specified, authenticate
        OK = b'OK'
        r = None
        if self.password:
            r = self.request('AUTH', self.password)\
                        .add_errback(OK,ConnectionError('Invalid Password'))

        # if a database is specified, switch to it
        if self.db:
            return r.add_callback(self.select) if r else self.select()
        else:
            return r
        
    def select(self, result = None):
        return self.request('SELECT', self.db)\
                .add_errback(OK, ConnectionError('Invalid Database'))
        
Exemplo n.º 2
0
 def _connect(self):
     self.stream = AsyncIOStream(self._sock)
     return self.stream.connect(self.address, self.on_connect)