
    	Ae                     0    d Z  G d d      Z G d d      Zy)z
Tracing utils
c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)	TagTracerc                 .    i | _         d | _        d| _        y )N    )
_tags2proc_writerindent)selfs    /lib/python3.12/site-packages/pluggy/_tracing.py__init__zTagTracer.__init__   s        c                     t        | |f      S N)TagTracerSubr	   names     r
   getzTagTracer.get   s    D4'**r   c           	      j   t        |d   t              r|d   }|d d }ni }dj                  t        t        |            }d| j
                  z  }dj                  ||dj                  |            g}|j                         D ]  \  }}|j                  | d| d| d       ! d	j                  |      S )
N z  z
{}{} [{}]
:z    z: 
 )	
isinstancedictjoinmapstrr   formatitemsappend)	r	   tagsargsextracontentr   linesr   values	            r
   _format_messagezTagTracer._format_message   s    d2h%HE9DE((3sD>*#%%fgsxx~FG ;;= 	;KD%LLF84vRwb9:	; wwu~r   c                     | j                   #|r!| j                  | j                  ||             	 | j                  |   } |||       y # t        $ r Y y w xY wr   )r   r'   r   KeyError)r	   r!   r"   	processors       r
   _processmessagezTagTracer._processmessage    sZ    <<#LL--dD9:	"-I dD!  		s   A
 
	AAc                     || _         y r   )r   )r	   writers     r
   	setwriterzTagTracer.setwriter*   s	    r   c                     t        |t              rt        |j                  d            }nt        |t              sJ || j                  |<   y )Nr   )r   r   tuplesplitr   )r	   r!   r*   s      r
   setprocessorzTagTracer.setprocessor-   s9    dC C)DdE** )r   N)	__name__
__module____qualname__r   r   r'   r+   r.   r2    r   r
   r   r      s     
+""*r   r   c                       e Zd Zd Zd Zd Zy)r   c                      || _         || _        y r   )rootr!   )r	   r9   r!   s      r
   r   zTagTracerSub.__init__6   s    		r   c                 P    | j                   j                  | j                  |       y r   )r9   r+   r!   )r	   r"   s     r
   __call__zTagTracerSub.__call__:   s    		!!$))T2r   c                 V    | j                  | j                  | j                  |fz         S r   )	__class__r9   r!   r   s     r
   r   zTagTracerSub.get=   s"    ~~diidW)<==r   N)r3   r4   r5   r   r;   r   r6   r   r
   r   r   5   s    3>r   r   N)__doc__r   r   r6   r   r
   <module>r?      s   
,* ,*^	> 	>r   