HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/pluggy/__pycache__/_callers.cpython-310.pyc
o

weY�@s�dZddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z	d	d
l
mZd	dlm
Z
d	dlmZd	d
lmZe	eedeedfedeeffZddd�ZdS)z
Call loop machinery
�)�annotations)�cast)�	Generator)�Mapping)�Sequence)�Tuple)�Union�)�HookImpl)�_raise_wrapfail)�
HookCallError)�ResultN�	hook_name�str�
hook_impls�Sequence[HookImpl]�
caller_kwargs�Mapping[str, object]�firstresult�bool�return�object | list[object]cs�d}g}d}d}�z�g}z�t|�D]�}	z�fdd�|	jD�}
Wnty9|	jD]
}|�vr6td|����q)Ynw|	jrkd}z|	j|
�}ttdtt	df|�}
t
|
�|�|
f�Wqtyjt
|
d�Yqw|	jr�z|	j|
�}ttdt	t	f|�}t
|�|�|�Wqty�t
|d�Yqw|	j|
�}|dur�|�|�|r�nqWnty�}z|}WYd}~nd}~wwW|�r,|r�|r�|dnd}n|}t|�D]I}z|dur�|�|�n|�|�|��Wn,t�y}z|j}d}WYd}~q�d}~wt�y}z|}WYd}~q�d}~wwt
|d	�q�|du�r*|�|j��|S|�r<t|�r7|dnd|�}nt||�}t|�D]w}t|t��rjz|d�|�t
|dd	�W�qEt�yiY�qEwz|jdu�rx|�|j�n|�|j�|��Wn2t�y�}z
|�|j�WYd}~�qEd}~wt�y�}z|�|�WYd}~�qEd}~wwt
|d	��qE|��S|�r8|�r�|�r�|dnd}n|}t|�D]M}z|du�r�|�|�n|�|�|��Wn.t�y}z|j}d}WYd}~�q�d}~wt�y}z	|}WYd}~�q�d}~wwt
|d	��q�|du�r0|�|j��|YS|�rHt|�rC|dnd|�}nt||�}t|�D]w}t|t��rvz|d�|�t
|dd	�W�qQt�yuY�qQwz|jdu�r�|�|j�n|�|j�|��Wn2t�y�}z
|�|j�WYd}~�qQd}~wt�y�}z|�|�WYd}~�qQd}~wwt
|d	��qQ|��YS)
z�Execute a call into multiple python functions/methods and return the
    result(s).

    ``caller_kwargs`` comes from HookCaller.__call__().
    TNcsg|]}�|�qS�r)�.0�argname�rr�H/home/arjun/projects/env/lib/python3.10/site-packages/pluggy/_callers.py�
<listcomp>/sz_multicall.<locals>.<listcomp>z hook call must provide argument Fz
did not yieldrzhas second yield)�reversed�argnames�KeyErrorr�hookwrapper�functionrrr
�object�next�append�
StopIterationr�wrapper�
BaseException�throw�send�close�value�with_traceback�
__traceback__�
isinstance�tuple�
_exception�_result�force_result�force_exception�
get_result)rrrr�__tracebackhide__�results�	exception�only_new_style_wrappers�	teardowns�	hook_impl�argsr�res�wrapper_gen�function_gen�exc�result�teardown�si�e�outcomerrr�
_multicalls6
����
�
�

����
���
�
��
���

���
�
��
��rF)
rrrrrrrrrr)�__doc__�
__future__r�typingrrrrrr�_hooksr
r2rrr
r#�TeardownrFrrrr�<module>s$��