
    i?1i              
         d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlm	Z	m
Z
mZmZmZ e	rd dlmZ ej#                  d      d    Z ej&                  e      Z G d de      Z e ed	d
       edd
       edd
       edd
       edd
            Z G d de      ZddZ G d dej4                        Zej9                   e               G d dej:                        Zy)    )annotationsN)
ContextVar)TYPE_CHECKINGAnyCallable
NamedTuplecast)_BaseBaseClient.c                  @    e Zd ZU ded<   ded<   ded<   ded<   ded<   y)	
LogContextzContextVar[int | None]attemptzContextVar[str | None]client_methodmethodresource_idurlN)__name__
__module____qualname____annotations__     _/home/www/therecruiter.miabetepe.com/venv/lib/python3.12/site-packages/apify_client/_logging.pyr   r      s     ##))""''	r   r   r   )defaultr   r   r   r   )r   r   r   r   r   c                      e Zd ZddZy)WithLogDetailsClientc           	         |j                         D ];  \  }}|j                  d      rt        j                  |      s.t	        |      ||<   = t        t        t        j                  | |||            S )N_)	items
startswithinspect
isfunction&_injects_client_details_to_log_contextr	   r   type__new__)clsnamebasesattrs	attr_name
attr_values         r   r%   zWithLogDetailsClient.__new__*   sg    %*[[] 	V!Iz'',1C1CJ1O#I*#Ui 	V ($,,sD%*OPPr   N)
r&   z
type[type]r'   strr(   tupler)   dictreturnr   )r   r   r   r%   r   r   r   r   r   )   s    Qr   r   c                    t        j                         r t        j                         d fd       }|S t        j                         r t        j                         d fd       }|S t        j                         d fd       }|S )Nc                   K   t         j                  j                  j                         t         j                  j                  | j                          | g|i | d {   S 7 wNlog_contextr   setr   r   resource_clientargskwargsfuns      r   async_wrapperz=_injects_client_details_to_log_context.<locals>.async_wrapper8   sV     %%))#*:*:;##''(C(CD_>t>v>>>>s   A"A,%A*&A,c                  K   t         j                  j                  j                         t         j                  j                  | j                          | g|i |2 3 d {   }| 7 
6 y wr2   r3   )r7   r8   r9   itemr:   s       r   async_generator_wrapperzG_injects_client_details_to_log_context.<locals>.async_generator_wrapperB   sg     %%))#*:*:;##''(C(CD!/CDCFC  d
Cs*   AA5"A3&A1'A3*A51A33A5c                    t         j                  j                  j                         t         j                  j                  | j                          | g|i |S r2   r3   r6   s      r   wrapperz7_injects_client_details_to_log_context.<locals>.wrapperM   sL    %%))#*:*:;##''(C(CD8888r   )r7   r
   r8   r   r9   r   r/   r   )r!   iscoroutinefunction	functoolswrapsisasyncgenfunction)r:   r;   r>   r@   s   `   r   r#   r#   5   s    ""3'			? 
	? 		#	#C	(			 
	 '& 
		9 
	9 r   c                      e Zd ZddZy)_ContextInjectingFilterc                b   t         j                  j                         |_        t         j                  j                         |_        t         j                  j                         |_        t         j
                  j                         |_        t         j                  j                         |_        y)NT)r4   r   getr   r   r   r   )selfrecords     r   filterz_ContextInjectingFilter.filterZ   ss    *88<<>(4488:#**..0 __((*
$,,002r   N)rI   rF   rJ   logging.LogRecordr/   bool)r   r   r   rK   r   r   r   rF   rF   Y   s    r   rF   c            	      X     e Zd Z ej                  ddddddd      ZddZd fdZ xZS )_DebugLogFormatterdummyr   Nc                    i }|j                   j                         D ]#  \  }}|| j                  j                   vs|||<   % |S r2   )__dict__r   empty_record)rI   rJ   extra_fieldskeyvalues        r   _get_extra_fieldsz$_DebugLogFormatter._get_extra_fieldsl   sM     ////1 	*JC$++444$)S!	* r   c                    | j                  |      }t        | 	  |      }|r| dt        j                  |       d}|S )Nz ())rW   superformatjsondumps)rI   rJ   extra
log_string	__class__s       r   r[   z_DebugLogFormatter.formatt   sF    &&v.W^F+
&<r$**U*;)<A>Jr   )rI   rO   rJ   rL   r/   r.   )rI   rO   rJ   rL   r/   r,   )	r   r   r   logging	LogRecordrS   rW   r[   __classcell__)r`   s   @r   rO   rO   h   s0    $7$$Wa!WdDQL r   rO   )r:   r   r/   r   )
__future__r   rB   r!   r\   ra   contextvarsr   typingr   r   r   r   r	   %apify_client.clients.base.base_clientr
   r   splitlogger_name	getLoggerloggerr   r4   r$   r   r#   FilterrF   	addFilter	FormatterrO   r   r   r   <module>ro      s    "     " A A E nnS!!$ 
		;	'    y$/_d;h-=$75$'Q4 QHgnn    (* +
** r   