
    F-Ph              
      `   d Z ddlmZ ddlmZ ddlZddlZddlZddlm	Z	 ddlm
Z
 e	rddlmZ  ed          Z e
d	          Z G d
 de          Zej        ej        ej        ej        ej        ej        ej        ej        ej        d	Z G d d          Z e            Zej        ZddZdS )z1create errno-specific classes for IO or os calls.    )annotations)CallableN)TYPE_CHECKING)TypeVar)	ParamSpecPRc                      e Zd ZddZddZdS )Errorreturnstrc                    d                     | j        j        | j        j        | j        j        d                    t          t          | j                                      S )Nz{}.{} {!r}: {}  )	format	__class__
__module____name____doc__joinmapr   args)selfs    Q/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/_pytest/_py/error.py__repr__zError.__repr__   sM     ''N%N#N"HHSdi(())	
 
 	
    c           	         d                     | j        j        d                    t	          t
          | j                                      }|S )Nz[{}]: {}r   )r   r   r   r   r   r   r   )r   ss     r   __str__zError.__str__   sA    N"HHSdi(())
 
 r   N)r   r   )r   r   __qualname__r   r    r   r   r   r      s<        
 
 
 
     r   r   )	                     i     c                  :    e Zd ZU dZi Zded<   ddZddZddZdS )
ErrorMakerzlazily provides Exception classes for each possible POSIX errno
    (as defined per the 'errno' module).  All such instances
    subclass EnvironmentError.
    zdict[int, type[Error]]_errno2classnamer   r   type[Error]c                    |d         dk    rt          |          t          t          |          }|                     |          }t	          | ||           |S )Nr   _)AttributeErrorgetattrerrno_geterrnoclasssetattr)r   r,   enoclss       r   __getattr__zErrorMaker.__getattr__<   sV    7c>> &&&eT""!!#&&dC   
r   r5   intc           	         	 | j         |         S # t          $ r^ t          j                            |d|           }t          |t          fdt          j        |          d          }|| j         |<   |cY S w xY w)NUnknownErrnopy.errorr   r   )	r+   KeyErrorr2   	errorcodegettyper   osstrerror)r   r5   clsnameerrorclss       r   r3   zErrorMaker._geterrnoclassD   s    
	$S)) 	 	 	o))#/Cc/C/CDDG)bk#6F6FGG H
 &.Dc"OOO	s    A%A76A7funcCallable[P, R]r   P.argskwargsP.kwargsr	   c                   d}	  ||i |S # t           $ r  t          $ r}t          |d          s t          j        dk    r7	 |                     t          |j                           }nL# t          $ r |w xY w|j        t          dt           fddd          }n|                     |j                  } ||j
         |          d}~ww xY w)z;Call a function and raise an errno-exception if applicable.Tr2   win32NUnknownErrnoNoner;   r<   )r   OSErrorhasattrsysplatformr3   _winerrnomapr2   r=   r@   r   )r   rE   r   rH   __tracebackhide__valuer6   s          r   checked_callzErrorMaker.checked_callQ   s    !	24(((( 	 	 	 	2 	2 	25'** |w&&  --l5;.GHHCC      K  ;&*'1dCC CC --ek::C#000111+	2s-    C!C%A('C(A55ACCN)r,   r   r   r-   )r5   r8   r   r-   )rE   rF   r   rG   rH   rI   r   r	   )	r   r   r   r   r+   __annotations__r7   r3   rT   r    r   r   r*   r*   4   so          
 ,.L----      2 2 2 2 2 2r   r*   attrr   r   r-   c                ,    t          t          |           S )N)r1   _error_maker)rV   s    r   r7   r7   v   s    <&&&r   )rV   r   r   r-   )r   
__future__r   collections.abcr   r2   rA   rO   typingr   r   typing_extensionsr   r   r	   EnvironmentErrorr   ENOENTEEXISTEXDEVEBUSYENOTDIREACCESrQ   r*   rX   rT   r7   r    r   r   <module>rd      sf   7 7 " " " " " " $ $ $ $ $ $  				 



                    ++++++	#AGCLL       & ||	|
 
;2 ;2 ;2 ;2 ;2 ;2 ;2 ;2| z||(' ' ' ' ' 'r   