U
    h8	                     @   sd   d dl Z d dlmZ e jr.d dlZd dlmZ dddddZdd	eee j	dgdf d
ddZ
dS )    N)_utils)RetryCallStater   retry_statereturnc                 C   s   dS )z'Before call strategy that does nothing.N )r   r   r   9/tmp/pip-unpacked-wheel-u97_i_7x/tenacity/before_sleep.pybefore_sleep_nothing   s    r	   Fzlogging.Logger)logger	log_levelexc_infor   c                    s   ddd fdd}|S )z:Before call strategy that logs to some logger the attempt.r   Nr   c                    s   | j d krtd| jd kr$td| j jrd| j  }d|jj d|  }} r^| j  }qxd}nd| j   }}d}| jd krd}nt	
| j}jd| d	| jj d
| d| d	|d d S )Nz&log_it() called before outcome was setz*log_it() called before next_action was setZraisedz: FZreturnedz	<unknown>z	Retrying z in z seconds as it  .)r   )ZoutcomeRuntimeErrorZnext_actionfailed	exception	__class____name__resultfnr   Zget_callback_namelogsleep)r   exZverbvalueZlocal_exc_infofn_namer   r   r
   r   r   log_it&   s(    



 z before_sleep_log.<locals>.log_itr   )r
   r   r   r   r   r   r   before_sleep_log   s    "r   )F)typingZtenacityr   TYPE_CHECKINGloggingr   r	   intboolCallabler   r   r   r   r   <module>   s    