
    keJi+                         d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZ d dlmZmZ d dlmZ  G d d	e          Ze	eeef                  Z G d
 dee          ZdS )    )abstractmethod)OptionalUnion)RedisRedisCluster)WeightedList)CircuitBreaker)AbstractDatabaseBaseDatabase)Numberc                       e Zd ZdZeedeeef         fd                        Z	e	j
        edeeef         fd                        Z	eedefd                        Zej
        edefd                        Zd	S )
AsyncDatabasez6Database with an underlying asynchronous redis client.returnc                     dS )zThe underlying redis client.N selfs    d/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/redis/asyncio/multidb/database.pyclientzAsyncDatabase.client   	     	    r   c                     dS )z Set the underlying redis client.Nr   r   r   s     r   r   zAsyncDatabase.client   r   r   c                     dS )z)Circuit breaker for the current database.Nr   r   s    r   circuitzAsyncDatabase.circuit   r   r   r   c                     dS )z1Set the circuit breaker for the current database.Nr   r   r   s     r   r   zAsyncDatabase.circuit    r   r   N)__name__
__module____qualname____doc__propertyr   r   r   r   r   setterr	   r   r   r   r   r   r      s        @@e\12    ^ X ]U5,#67    ^ ]     ^ X ^~    ^ ^  r   r   c            
            e Zd Z	 ddeeef         dededee	         f fdZ
edeeef         fd            Zej        deeef         fd	            Zedefd
            Zej        defd            Z xZS )DatabaseNr   r   weighthealth_check_urlc                     || _         || _        | | j        _        t                                          ||           d S N)_client_cbdatabasesuper__init__)r   r   r   r&   r'   	__class__s        r   r.   zDatabase.__init__+   s>      !122222r   r   c                     | j         S r)   r*   r   s    r   r   zDatabase.client7   s
    |r   c                     || _         d S r)   r1   r   s     r   r   zDatabase.client;   s    r   c                     | j         S r)   r+   r   s    r   r   zDatabase.circuit?   s	    xr   c                     || _         d S r)   r4   r   s     r   r   zDatabase.circuitC   s    r   r)   )r   r   r    r   r   r   r	   floatr   strr.   r"   r   r#   r   __classcell__)r/   s   @r   r%   r%   *   s/        +/
3 
3e\)*
3  
3 	
3
 #3-
3 
3 
3 
3 
3 
3 e\12    X ]U5,#67    ]     X ^~    ^    r   r%   N)abcr   typingr   r   redis.asyncior   r   redis.data_structurer   redis.multidb.circuitr	   redis.multidb.databaser
   r   redis.typingr   r   tuple	Databasesr%   r   r   r   <module>rB      s         " " " " " " " " - - - - - - - - - - - - - - 0 0 0 0 0 0 A A A A A A A A          $   8 }f456	    |]     r   