Edit File: self_outdated_check.cpython-311.pyc
� Q�d� � �< � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl m Z d dlmZm Z mZmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d lmZ d dlm Z d dl!m"Z" d d l#m$Z$ d dl%m&Z& d dl'm(Z(m)Z) d dl*m+Z+m,Z,m-Z- d dl.m/Z/ dZ0 ej1 e2� � Z3de4de4fd�Z5 G d� d� � Z6e G d� d� � � � Z7de4de8fd�Z9de$dej: dee4 fd�Z;de6d e j d!e d"e g ee4 f dee7 f d#�Z<de$dej: ddfd$�Z=dS )%� N)� dataclass)�Any�Callable�Dict�Optional)�parse)�Group)�escape)�Text)� LinkCollector)� PackageFinder)�get_default_environment)�DistributionVersion)�SelectionPreferences)� PipSession)�WINDOWS)� get_best_invocation_for_this_pip�#get_best_invocation_for_this_python)�adjacent_tmp_file�check_path_owner�replace)� ensure_dirz%Y-%m-%dT%H:%M:%SZ�key�returnc �z � | � � � }t j |� � � � � }|S �N)�encode�hashlib�sha224� hexdigest)r � key_bytes�names �r/builddir/build/BUILD/cloudlinux-venv-1.0.2/venv/lib/python3.11/site-packages/pip/_internal/self_outdated_check.py�_get_statefile_namer$ % s/ � �� � ���I��>�)�$�$�.�.�0�0�D��K� c �~ � e Zd Zdeddfd�Zedefd�� � Zdej dee fd�Z dedej ddfd �Z dS ) �SelfCheckState� cache_dirr Nc �h � i | _ d | _ |r�t j � |dt | j � � � � | _ t | j d�� � 5 }t j |� � | _ d d d � � d S # 1 swxY w Y d S # t t t f$ r Y d S w xY wd S )N� selfcheckzutf-8)�encoding) �_state�_statefile_path�os�path�joinr$ r �open�json�load�OSError� ValueError�KeyError)�selfr( � statefiles r# �__init__zSelfCheckState.__init__, s � �&(���#��� � �#%�7�<�<��;�(;�D�H�(E�(E�$� $�D� � ��$�.��A�A�A� 7�Y�"&�)�I�"6�"6�D�K�7� 7� 7� 7� 7� 7� 7� 7� 7� 7� 7� 7���� 7� 7� 7� 7� 7� 7���Z��2� � � � ��� ���� � s6 � B � B�:B �B�B �B�B �B/�.B/c � � t j S r )�sys�prefix)r7 s r# r zSelfCheckState.key= s � ��z�r% �current_timec � � | j sdS d| j vrdS d| j vrdS d}t j � | j d t � � }||z � � � }||k rdS | j d S )z7Check if we have a not-outdated version loaded already.N� last_check�pypi_versioni�: )r, �datetime�strptime� _DATE_FMT� total_seconds)r7 r= �seven_days_in_secondsr? �seconds_since_last_checks r# �getzSelfCheckState.getA s� � ��{� ��4��t�{�*�*��4����,�,��4� 0�� �&�/�/���L�0I�9�U�U� �$0�:�$=�#L�#L�#N�#N� �#�&;�;�;��4��{�>�*�*r% r@ c �R � | j sd S t t j � | j � � � � sd S t t j � | j � � � � | j |� t � � |d�}t j |dd�� � }t | j � � 5 }|� |� � � � � d d d � � n# 1 swxY w Y t |j | j � � d S # t $ r Y d S w xY w)N)r r? r@ T)�,�:)� sort_keys� separators)r- r r. r/ �dirnamer r �strftimerC r2 �dumpsr �writer r r"