U
    d                     @   s   d dl Z d dlZd dlmZ e jd ZeedddZeedddZ	ej
d	ejf ed
ddZejeeef ZeedddZdS )    N)	timedelta   )pos_numreturnc                 C   s\   | dkrdS | dkrdS | dkr$dS | dkr0dS d	|   krDd
krLn ndS t | d S d S )Nr   th   str   Znd   rd      
   find_ordinalr    r   </tmp/pip-install-xwugzb3_/pip/pip/_vendor/tenacity/_utils.pyr      s    r   c                 C   s   |  t |  S Nr   r   r   r   r   
to_ordinal+   s    r   .)cbr   c                 C   s   g }z| | j W n: tk
rN   z| | j W n tk
rH   Y nX Y nX |s\t| S z| jrr|d| j W n tk
r   Y nX d|S dS )znGet a callback fully-qualified name.

    If no name can be produced ``repr(cb)`` is called and returned.
    r   .N)append__qualname__AttributeError__name__repr
__module__insertjoin)r   segmentsr   r   r   get_callback_name/   s     r    )	time_unitr   c                 C   s   t t| tr|  n| S r   )float
isinstancer   total_seconds)r!   r   r   r   
to_secondsK   s    r%   )systypingdatetimer   maxsizeMAX_WAITintstrr   r   CallableZAnyr    Unionr"   Ztime_unit_typer%   r   r   r   r   <module>   s   
