File: //home/arjun/projects/env/lib/python3.10/site-packages/pluggy/__pycache__/_tracing.cpython-310.pyc
o
we( � @ s� d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ eege f Z
eeedf eedf ge f ZG dd � d �ZG d
d� d�Z
dS )
z
Tracing utils
� )�annotations)�Any)�Callable)�Sequence)�Tuple.c @ sH e Zd Zddd�Zddd �Zd dd�Zd!dd�Zd"dd�Zd#dd�ZdS )$� TagTracer�return�Nonec C s i | _ d | _d| _d S )Nr )�
_tags2proc�_writer�indent)�self� r �H/home/arjun/projects/env/lib/python3.10/site-packages/pluggy/_tracing.py�__init__ s
zTagTracer.__init__�name�str�TagTracerSubc C s t | |f�S �N)r �r
r r r r �get s z
TagTracer.get�tags�
Sequence[str]�args�Sequence[object]c C s� t |d t�r|d }|d d� }ni }d�tt|��}d| j }d�||d�|��g}|�� D ]\}}|�|� d|� d|� d�� q0d �|�S )
N���� z z
{}{} [{}]
�:z z: �
� ) �
isinstance�dict�join�mapr r �format�items�append) r
r r �extra�contentr �linesr �valuer r r �_format_message s
zTagTracer._format_message�tuple[str, ...]�tuple[object, ...]c C sR | j d ur|r| � | �||�� z| j| }W n
ty! Y d S w |||� d S r )r r+ r
�KeyError)r
r r � processorr r r �_processmessage* s �zTagTracer._processmessage�writer�_Writer | Nonec C s
|| _ d S r )r )r
r1 r r r � setwriter4 s
zTagTracer.setwriter�str | tuple[str, ...]r/ �
_Processorc C s6 t |t�r
t|�d��}nt |t�sJ �|| j|<