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'))
def _connect(self): self.stream = AsyncIOStream(self._sock) return self.stream.connect(self.address, self.on_connect)