
    Ng                         d dl Z d dlZd dlZd dlZd dlZ ej        d          Ze                     ej                               e	                    ej
                   d Zd Zd Zd ZdddddZd	 Zd
 ZdS )    Nbackoffc                 Z    t          |           r	  | |i |S # t          $ r | cY S w xY w| S N)callable	TypeError)fargskwargss      K/var/www/html/ai-engine/env/lib/python3.11/site-packages/backoff/_common.py_maybe_callr      sU    {{ 	1d%f%%% 	 	 	HHH	 s    ((c                 |    d |                                 D             } | di |}|                    d            |S )Nc                 4    i | ]\  }}|t          |          S  )r   ).0kvs      r   
<dictcomp>z"_init_wait_gen.<locals>.<dictcomp>   s$    DDDDAqaQDDD    r   )itemssend)wait_genwait_gen_kwargsr
   initializeds       r   _init_wait_genr      sP    DDO,A,A,C,CDDDF($$V$$KTr   c                     |                      |          }	 | ||          }n|}n9# t          $ r, t          j        dt          d           | |            z   }Y nw xY w|t          |||z
            }|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)wait
send_valuejitterelapsedmax_timevaluesecondss          r   
_next_waitr)   "   s    IIj!!E#fUmmGGG 	# 	# 	#2 	
 	
 	
 	
 &&(("	# gx'122Ns   ( 3AAc                 X    t          | t                    rt          j        |           } | S r   )
isinstancestrlogging	getLogger)loggers    r   _prepare_loggerr0   ;   s)    &# +"6**Mr   )default_handlerr/   	log_levelc                    g }|8|
J d            t          j        |||          }|                    |           | |S t          | d          r|t	          |           z  }n|                    |            |S )NzLog level is not specified)r/   r2   __iter__)	functoolspartialappendhasattrlist)user_handlersr1   r/   r2   handlerslog_handlers         r   _config_handlersr=   C   s     H$$&B$$$'Fi
 
 
 	$$$ }j)) 'D''' 	&&&Or   c                 B   d}| d         j         | d         g}t          j                    \  }}}|Dt          j        ||          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_onlyr7   rstriplog	detailsr/   r2   msglog_argsexc_typexc_exc_fmts	            r   _log_backoffrR   _   s    
.C!*GFO<HlnnOGS!
1'3??Ct,,----()))FJy#)))))))r   c                 B   d}| d         j         | d         g}t          j                    \  }}}|Dt          j        ||          d         }|                    |                    d                     n|                    | d                     |j        ||g|R   d S )Nz%Giving up %s(...) after %d tries (%s)r?   triesr@   rA   r'   rB   rJ   s	            r   _log_giveuprU   m   s    
1C!*GG,<=HlnnOGS!
1'3??Ct,,----()))FJy#)))))))r   )r5   r-   rD   rF   r   r.   _logger
addHandlerNullHandlersetLevelINFOr   r   r)   r0   r=   rR   rU   r   r   r   <module>r[      s
        



      '
I
&
&   &7&(( ) ) )            2   '+44    8
* 
* 
** * * * *r   