
    0Ic                     >    d Z  G d d          Z G d d          ZdS )z
Tracing utils
c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )	TagTracerc                 0    i | _         d | _        d| _        d S )N    )
_tags2proc_writerindent)selfs    /lib/python3.11/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           	         t          |d         t                    r|d         }|d d         }ni }d                    t          t          |                    }d| j        z  }d                    ||d                    |                    g}|                                D ]#\  }}|                    | d| d| d           $d	                    |          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9DDE((3sD>>**#%%fgsxx~~FFG ;;== 	; 	;KD%LLF9999999::::wwu~~r   c                     | j         +|r)|                      |                     ||                     	 | j        |         } |||           d S # t          $ r Y d S w xY wr   )r   r'   r   KeyError)r	   r!   r"   	processors       r
   _processmessagezTagTracer._processmessage    s    < 	; 	;LL--dD99:::	"-I IdD!!!!!  	 	 	DD	s   A 
AAc                     || _         d S r   )r   )r	   writers     r
   	setwriterzTagTracer.setwriter*   s    r   c                     t          |t                    r#t          |                    d                    }nt          |t                    sJ || j        |<   d S )Nr   )r   r   tuplesplitr   )r	   r!   r*   s      r
   setprocessorzTagTracer.setprocessor-   sU    dC   	+C))DDdE***** )r   N)	__name__
__module____qualname__r   r   r'   r+   r.   r2    r   r
   r   r      sn          
+ + +  "" " "  * * * * *r   r   c                        e Zd Zd Zd Zd ZdS )r   c                 "    || _         || _        d S r   )rootr!   )r	   r9   r!   s      r
   r   zTagTracerSub.__init__6   s    				r   c                 F    | j                             | j        |           d S r   )r9   r+   r!   )r	   r"   s     r
   __call__zTagTracerSub.__call__:   s"    	!!$)T22222r   c                 J    |                      | j        | j        |fz             S r   )	__class__r9   r!   r   s     r
   r   zTagTracerSub.get=   s!    ~~didW)<===r   N)r3   r4   r5   r   r;   r   r6   r   r
   r   r   5   sA          3 3 3> > > > >r   r   N)__doc__r   r   r6   r   r
   <module>r?      sj    
,* ,* ,* ,* ,* ,* ,* ,*^	> 	> 	> 	> 	> 	> 	> 	> 	> 	>r   