o
    Rhd                     @   s   d dl Z d dlZd dlZd dlZd dlmZ ejd Zdede	fddZ
dede	fdd	Zd
ejdejf de	fddZejeeef ZdedefddZdejdejf defddZdejdejf dejdejej f fddZdS )    N)	timedelta   pos_numreturnc                 C   sT   | dkrdS | dkrdS | dkrdS | dkrdS d	|   kr#d
kr$dS  t | d S )Nr   th   str   nd   rd      
   find_ordinalr    r   Q/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/tenacity/_utils.pyr      s   r   c                 C   s   |  t |  S Nr   r   r   r   r   
to_ordinal,   s   r   cb.c                 C   s   g }z| | j W n ty%   z| | j W n	 ty"   Y nw Y nw |s,t| S z| jr7|d| j W n	 tyA   Y nw d|S )znGet a callback fully-qualified name.

    If no name can be produced ``repr(cb)`` is called and returned.
    r   .)append__qualname__AttributeError__name__repr
__module__insertjoin)r   segmentsr   r   r   get_callback_name0   s*   
r!   	time_unitc                 C   s   t t| tr|  S | S r   )float
isinstancer   total_seconds)r"   r   r   r   
to_secondsL   s
   r&   callc                 C   sH   t | rdS t | rdS t| tjo| j}|pt| dd }t |S )NFT__call__)inspectisclassiscoroutinefunctionr$   	functoolspartialfuncgetattr)r'   partial_calldunder_callr   r   r   is_coroutine_callableR   s   


r2   c                    s0   t  r S dtjdtjdtjf fdd}|S )Nargskwargsr   c                     s    | i |S r   r   )r3   r4   r'   r   r   innerb   s   z!wrap_to_async_func.<locals>.inner)r2   typingAny)r'   r6   r   r5   r   wrap_to_async_func\   s    r9   )r,   r)   sysr7   datetimer   maxsizeMAX_WAITintstrr   r   Callabler8   r!   Unionr#   time_unit_typer&   boolr2   	Awaitabler9   r   r   r   r   <module>   s"   

