o
    ^ë"hæ
  ã                   @   s¦   d dl Z d dlZejrd dlZd dlmZ G dd„ de jƒZG dd„ deƒZG dd„ deƒZ	G d	d
„ d
eƒZ
e
ƒ ZG dd„ deƒZG dd„ deƒZG dd„ deƒZdS )é    N)ÚRetryCallStatec                   @   s<   e Zd ZdZejdddefdd„ƒZdd	d
„Zddd„Z	dS )Ú	stop_basez(Abstract base class for stop strategies.Úretry_stater   Úreturnc                 C   s   d S ©N© ©Úselfr   r   r   ún/var/www/project2/testadmin.ninositsolution.com/venv/lib/python3.10/site-packages/pip/_vendor/tenacity/stop.pyÚ__call__   s   zstop_base.__call__ÚotherÚstop_allc                 C   ó
   t | |ƒS r   )r   ©r	   r   r   r   r
   Ú__and__    ó   
zstop_base.__and__Ústop_anyc                 C   r   r   )r   r   r   r   r
   Ú__or__#   r   zstop_base.__or__N)r   r   r   r   )r   r   r   r   )
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractmethodÚboolr   r   r   r   r   r   r
   r      s    
r   c                   @   ó4   e Zd ZdZdeddfdd„Zdddefd	d
„ZdS )r   z+Stop if any of the stop condition is valid.Ústopsr   Nc                 G   ó
   || _ d S r   ©r   ©r	   r   r   r   r
   Ú__init__*   r   zstop_any.__init__r   r   c                    ó   t ‡ fdd„| jD ƒƒS )Nc                 3   ó    | ]}|ˆ ƒV  qd S r   r   ©Ú.0Úx©r   r   r
   Ú	<genexpr>.   ó   € z$stop_any.__call__.<locals>.<genexpr>)Úanyr   r   r   r&   r
   r   -   ó   zstop_any.__call__©r   r   r   r   r   r    r   r   r   r   r   r
   r   '   ó    r   c                   @   r   )r   z*Stop if all the stop conditions are valid.r   r   Nc                 G   r   r   r   r   r   r   r
   r    4   r   zstop_all.__init__r   r   c                    r!   )Nc                 3   r"   r   r   r#   r&   r   r
   r'   8   r(   z$stop_all.__call__.<locals>.<genexpr>)Úallr   r   r   r&   r
   r   7   r*   zstop_all.__call__r+   r   r   r   r
   r   1   r,   r   c                   @   s"   e Zd ZdZdddefdd„ZdS )Ú_stop_neverzNever stop.r   r   r   c                 C   s   dS )NFr   r   r   r   r
   r   >   s   z_stop_never.__call__N)r   r   r   r   r   r   r   r   r   r
   r.   ;   s    r.   c                   @   s,   e Zd ZdZddd„Zdd	defd
d„ZdS )Ústop_when_event_setz!Stop when the given event is set.Úeventúthreading.Eventr   Nc                 C   r   r   )r0   )r	   r0   r   r   r
   r    H   r   zstop_when_event_set.__init__r   r   c                 C   s
   | j  ¡ S r   )r0   Úis_setr   r   r   r
   r   K   r   zstop_when_event_set.__call__)r0   r1   r   N)r   r   r   r   r    r   r   r   r   r   r
   r/   E   s    
r/   c                   @   r   )Ústop_after_attemptz.Stop when the previous attempt >= max_attempt.Úmax_attempt_numberr   Nc                 C   r   r   )r4   )r	   r4   r   r   r
   r    R   r   zstop_after_attempt.__init__r   r   c                 C   ó   |j | jkS r   )Úattempt_numberr4   r   r   r   r
   r   U   ó   zstop_after_attempt.__call__)r   r   r   r   Úintr    r   r   r   r   r   r
   r3   O   r,   r3   c                   @   r   )Ústop_after_delayz3Stop when the time from the first attempt >= limit.Ú	max_delayr   Nc                 C   r   r   )r:   )r	   r:   r   r   r
   r    \   r   zstop_after_delay.__init__r   r   c                 C   r5   r   )Úseconds_since_startr:   r   r   r   r
   r   _   r7   zstop_after_delay.__call__)r   r   r   r   Úfloatr    r   r   r   r   r   r
   r9   Y   r,   r9   )r   ÚtypingÚTYPE_CHECKINGÚ	threadingÚpip._vendor.tenacityr   ÚABCr   r   r   r.   Ú
stop_neverr/   r3   r9   r   r   r   r
   Ú<module>   s   



