U
    M»{j8	  ã                   @   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   úT/var/www/html/bwave/python/venv/lib/python3.8/site-packages/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rˆd}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_actionZ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    ýü