
    9iu                    V    d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	  G d de      Z
y)    )annotationsN)ABCabstractmethod)
ModuleType)get_package_datac                  X   e Zd ZdZ ee d      Z ee d      Z ee d      Z ee d      Z ee d      Z	 ee d      Z
	 	 	 	 	 	 	 	 ddZdd	Zedd
       Ze	 	 	 	 	 	 	 	 	 	 dd       Zedd       Zedd       Zee	 	 d d              Ze	 d!	 	 	 	 	 	 	 d"d       Zed#d       Zed$d       Ze	 	 	 	 	 	 	 	 d%d       Ze	 	 	 	 	 	 	 	 d&d       Ze	 d!	 	 	 	 	 	 	 	 	 d'd       Ze	 d!	 	 	 	 	 	 	 	 	 	 	 d(d       Zed)d       Zed*d       Zed+d       Zed+d       Zy),RedisBridgezresources/redis/lua_scriptsz/moving_window.luaz/acquire_moving_window.luaz/clear_keys.luaz/incr_expire.luaz/sliding_window.luaz/acquire_sliding_window.luac                ~   || _         t        j                  j                  | j                         | _        || _        i | _        || _        | j                  j                  r#| j                  j                  | j                  d<   | j                  j                  r$| j                  j                  | j                  d<   y y )Nusernamepassword)
uriurllibparseurlparse
parsed_uri
dependencyparsed_auth
key_prefixr   r   )selfr   r   r   s       R/var/www/html/venv/lib/python3.12/site-packages/limits/aio/storage/redis/bridge.py__init__zRedisBridge.__init__   s      ,,//9$$??##+/??+C+CDZ(??##+/??+C+CDZ( $    c                $    | j                    d| S )N:)r   r   keys     r   prefixed_keyzRedisBridge.prefixed_key(   s    //"!C5))r   c                     y N r   s    r   register_scriptszRedisBridge.register_scripts+   s    (+r   c                     y r   r    )r   service_nameuse_replicassentinel_kwargsoptionss        r   use_sentinelzRedisBridge.use_sentinel.   s     r   c                     y r   r    r   r'   s     r   	use_basiczRedisBridge.use_basic7   s    @Cr   c                     y r   r    r*   s     r   use_clusterzRedisBridge.use_cluster:   s    BEr   c                     y r   r    r!   s    r   base_exceptionszRedisBridge.base_exceptions=   s     9<r   c                   K   y wr   r    )r   r   expiryamounts       r   incrzRedisBridge.incrC   s         c                   K   y wr   r    r   s     r   getzRedisBridge.getK   s	     *-r4   c                   K   y wr   r    r   s     r   clearzRedisBridge.clearN   	     -0r4   c                   K   y wr   r    )r   r   limitr1   s       r   get_moving_windowzRedisBridge.get_moving_windowQ   s       r4   c                   K   y wr   r    )r   previous_keycurrent_keyr1   s       r   get_sliding_windowzRedisBridge.get_sliding_windowV   s      ),r4   c                   K   y wr   r    )r   r   r;   r1   r2   s        r   acquire_entryzRedisBridge.acquire_entry[   s      r4   c                   K   y wr   r    )r   r>   r?   r;   r1   r2   s         r   acquire_sliding_window_entryz(RedisBridge.acquire_sliding_window_entryd   s      r4   c                   K   y wr   r    r   s     r   
get_expiryzRedisBridge.get_expiryn   s	     36r4   c                   K   y wr   r    r!   s    r   checkzRedisBridge.checkq   s	     #&r4   c                   K   y wr   r    r!   s    r   resetzRedisBridge.resett   s	     ),r4   c                   K   y wr   r    r!   s    r   	lua_resetzRedisBridge.lua_resetw   r9   r4   N)r   strr   r   r   rM   returnNone)r   rM   rN   rM   )rN   rO   )
r$   z
str | Noner%   boolr&   z$dict[str, str | float | bool] | Noner'   str | float | boolrN   rO   )r'   rQ   rN   rO   )rN   z-type[Exception] | tuple[type[Exception], ...])   )r   rM   r1   intr2   rS   rN   rS   )r   rM   rN   rS   )r   rM   rN   rO   )r   rM   r;   rS   r1   rS   rN   ztuple[float, int])r>   rM   r?   rM   r1   rS   rN   ztuple[int, float, int, float])
r   rM   r;   rS   r1   rS   r2   rS   rN   rP   )r>   rM   r?   rM   r;   rS   r1   rS   r2   rS   rN   rP   )r   rM   rN   float)rN   rP   )rN   z
int | None)__name__
__module____qualname__RES_DIRr   SCRIPT_MOVING_WINDOWSCRIPT_ACQUIRE_MOVING_WINDOWSCRIPT_CLEAR_KEYSSCRIPT_INCR_EXPIRESCRIPT_SLIDING_WINDOWSCRIPT_ACQUIRE_SLIDING_WINDOWr   r   r   r"   r(   r+   r-   propertyr/   r3   r6   r8   r<   r@   rB   rD   rF   rH   rJ   rL   r    r   r   r	   r	   
   s   +G+wi7I,JK#3)-.$  )G9O)DE)WI5E*FG,y8K-LM$4)./%!DD D 	D
 
D * + +   >	
 & 
  C CE E<	6<  < 
 	  	
 
  - -0 0  " ,/ 	    ,,.1,;>,	&, ,    	
  
     	
   
  6 6& &, ,0 0r   r	   )
__future__r   r   abcr   r   typesr   limits.utilr   r	   r    r   r   <module>rd      s"    "  #  (n1# n1r   