
    .Ph^                    f    d dl mZ d dlmZmZ d dlmZ d dlmZ erd dlm	Z	  G d de          Z
dS )	    )annotations)datetimetimezone)TYPE_CHECKING)	BaseCache)Redisc                  B    e Zd ZddZdd	Z	 dddZddZddZddZd
S )
RedisCacheconnRedis[bytes]returnNonec                    || _         d S N)r   )selfr   s     _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/cachecontrol/caches/redis_cache.py__init__zRedisCache.__init__   s    			    keystrbytes | Nonec                6    | j                             |          S r   )r   getr   r   s     r   r   zRedisCache.get   s    y}}S!!!r   Nvaluebytesexpiresint | datetime | Nonec                   |s| j                             ||           d S t          |t                    r}t          j        t
          j                  }|j        |                    d           }||z
  }| j         	                    |t          |                                          |           d S | j         	                    |||           d S )N)tzinfo)r   set
isinstancer   nowr   utcr    replacesetexinttotal_seconds)r   r   r   r   now_utcdeltas         r   r!   zRedisCache.set   s      		1IMM#u%%%%%** 	1l8<00G~%!///66g%EIOOCU%8%8%:%:!;!;UCCCCCIOOC%00000r   c                :    | j                             |           d S r   )r   deleter   s     r   r,   zRedisCache.delete%   s    	r   c                r    | j                                         D ]}| j                             |           dS )zIHelper for clearing all the keys in a database. Use with
        caution!N)r   keysr,   r   s     r   clearzRedisCache.clear(   sB     9>>## 	" 	"CIS!!!!	" 	"r   c                    dS )z?Redis uses connection pooling, no need to close the connection.N )r   s    r   closezRedisCache.close.   s    r   )r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   )r   r   )	__name__
__module____qualname__r   r   r!   r,   r/   r2   r1   r   r   r
   r
      s           " " " " HL1 1 1 1 1   " " " "     r   r
   N)
__future__r   r   r   typingr   cachecontrol.cacher   redisr   r
   r1   r   r   <module>r:      s    # " " " " " ( ' ' ' ' ' ' '             ( ( ( ( ( (                    r   