
    g                         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j                   ej                                ej                  ej                         d Zd Zd Zd ZdddddZd	 Zd
 Zy)    Nbackoffc                 P    t        |       r		  | |i |S | S # t        $ r | cY S w xY wN)callable	TypeError)fargskwargss      D/var/www/openai/venv/lib/python3.12/site-packages/backoff/_common.py_maybe_callr      s;    {	d%f%%   	H	s    %%c                     |j                         D ci c]  \  }}|t        |       }}} | di |}|j                  d        |S c c}}w )N )itemsr   send)wait_genwait_gen_kwargskvr
   initializeds         r   _init_wait_genr      sU    ,;,A,A,CD,CDAqaQ,CFD$V$KT Es   Ac                     | j                  |      }	 |	 ||      }n|}|t        |||z
        }|S # t        $ r) t        j                  dt        d       | |       z   }Y Dw xY w)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#UmGG gx'12N  	#2 	
 &("	#s   3 /A%$A%c                 P    t        | t              rt        j                  |       } | S r   )
isinstancestrlogging	getLogger)loggers    r   _prepare_loggerr,   ;   s!    &#""6*M    )default_handlerr+   	log_levelc                    g }|2|J d       t        j                  |||      }|j                  |       | |S t        | d      r|t	        |       z  }|S |j                  |        |S )NzLog level is not specified)r+   r/   __iter__)	functoolspartialappendhasattrlist)user_handlersr.   r+   r/   handlerslog_handlers         r   _config_handlersr:   C   s     H$B&BB$''Fi
 	$ }j)D''
 O 	&Or-   c                 (   d}| d   j                   | d   g}t        j                         \  }}}|:t        j                  ||      d   }|j                  |j                  d             n|j                  | d           |j                  ||g|  y )Nz"Backing off %s(...) for %.1fs (%s)targetr   
r#   __name__sysexc_info	tracebackformat_exception_onlyr4   rstriplog	detailsr+   r/   msglog_argsexc_typexc_exc_fmts	            r   _log_backoffrO   _   s    
.C!**GFO<HllnOGS!
11'3?Ct,-()FJJy#))r-   c                 (   d}| d   j                   | d   g}t        j                         \  }}}|:t        j                  ||      d   }|j                  |j                  d             n|j                  | d           |j                  ||g|  y )Nz%Giving up %s(...) after %d tries (%s)r<   triesr=   r>   r#   r?   rG   s	            r   _log_giveuprR   m   s    
1C!**GG,<=HllnOGS!
11'3?Ct,-()FJJy#))r-   )r2   r)   rA   rC   r   r*   _logger
addHandlerNullHandlersetLevelINFOr   r   r%   r,   r:   rO   rR   r   r-   r   <module>rX      s      
   '

I
&   &7&&( )    2 '+448
**r-   