OwlCyberSecurity - MANAGER
Edit File: redis_cache.cpython-312.pyc
� #��gj � �^ � d dl mZ d dlmZmZ d dlmZ d dlmZ erd dlm Z G d� de� Z y) � )�annotations)�datetime�timezone)� TYPE_CHECKING)� BaseCache)�Redisc �N � e Zd Zdd�Zd d�Z d dd�Zdd�Zd d�Zd d�Zy)� RedisCachec � � || _ y �N)�conn)�selfr s �Z/opt/hc_python/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py�__init__zRedisCache.__init__ s � ��� � c �8 � | j j |� S r )r �get�r �keys r r zRedisCache.get s � ��y�y�}�}�S�!�!r Nc � � |s| j j ||� y t |t � r{t j t j � }|j �|j d �� }||z }| j j |t |j � � |� y | j j |||� y )N)�tzinfo)r �set� isinstancer �nowr �utcr �replace�setex�int� total_seconds)r r �value�expires�now_utc�deltas r r zRedisCache.set s� � � ��I�I�M�M�#�u�%� ��� *��l�l�8�<�<�0�G��~�~�%�!�/�/��/�6���g�%�E��I�I�O�O�C��U�%8�%8�%:�!;�U�C��I�I�O�O�C��%�0r c �: � | j j |� y r )r �deleter s r r% zRedisCache.delete% s � �� � ����r c �x � | j j � D ] }| j j |� � y)zIHelper for clearing all the keys in a database. Use with caution!N)r �keysr% r s r �clearzRedisCache.clear( s+ � � �9�9�>�>�#�C��I�I���S�!� $r c � � y)z?Redis uses connection pooling, no need to close the connection.N� )r s r �closezRedisCache.close. s � �r )r zRedis[bytes]�return�None)r �strr, zbytes | Noner )r r. r �bytesr! zint | datetime | Noner, r- )r r. r, r- )r, r- ) �__name__� __module__�__qualname__r r r r% r( r+ r* r r r r sG � ��"� HL�1��1�$�1�/D�1� �1��"� r r N)� __future__r r r �typingr �pip._vendor.cachecontrol.cacher �redisr r r* r r �<module>r7 s'