a
    !f                     @   s   d dl Z d dlZd dlZd dlZd dlZedZee  e	ej
 dd Zdd Zdd Zd	d
 ZddddddZdd Zdd ZdS )    Nbackoffc                 O   s:   t | r2z| |i |W S  ty.   |  Y S 0 n| S d S N)callable	TypeError)fargskwargs r	   P/var/www/html/python-backend/venv/lib/python3.9/site-packages/backoff/_common.py_maybe_call   s    r   c                 C   s.   dd |  D }| f i |}|d  |S )Nc                 S   s   i | ]\}}|t |qS r	   )r   ).0kvr	   r	   r
   
<dictcomp>       z"_init_wait_gen.<locals>.<dictcomp>)itemssend)Zwait_genZwait_gen_kwargsr   Zinitializedr	   r	   r
   _init_wait_gen   s    
r   c                 C   sl   |  |}z|d ur||}n|}W n, tyP   tjdtdd ||  }Y n0 |d urht||| }|S )NzNullary jitter function signature is deprecated. Use unary signature accepting a wait value in seconds and returning a jittered version of it.   )
stacklevel)r   r   warningswarnDeprecationWarningmin)waitZ
send_valuejitterelapsedZmax_timevaluesecondsr	   r	   r
   
_next_wait"   s    

r   c                 C   s   t | trt| } | S r   )
isinstancestrlogging	getLogger)loggerr	   r	   r
   _prepare_logger;   s    

r%   )default_handlerr$   	log_levelc                C   sh   g }|d ur6|d usJ dt j|||d}|| | d u rB|S t| drZ|t| 7 }n
||  |S )NzLog level is not specified)r$   r'   __iter__)	functoolspartialappendhasattrlist)Zuser_handlersr&   r$   r'   handlersZlog_handlerr	   r	   r
   _config_handlersC   s    


r/   c           	      C   st   d}| d j | d g}t \}}}|d urNt||d }||d n|| d  |j||g|R   d S )Nz"Backing off %s(...) for %.1fs (%s)targetr   
r   __name__sysexc_info	tracebackformat_exception_onlyr+   rstriplog	detailsr$   r'   msgZlog_argsZexc_typexc_Zexc_fmtr	   r	   r
   _log_backoff_   s    r@   c           	      C   st   d}| d j | d g}t \}}}|d urNt||d }||d n|| d  |j||g|R   d S )Nz%Giving up %s(...) after %d tries (%s)r0   triesr1   r2   r   r3   r;   r	   r	   r
   _log_giveupm   s    rB   )r)   r"   r5   r7   r   r#   Z_logger
addHandlerNullHandlersetLevelINFOr   r   r   r%   r/   r@   rB   r	   r	   r	   r
   <module>   s   

	