Your IP : 216.73.216.196


Current Path : /opt/alt/python37/lib/python3.7/site-packages/py/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/py/__pycache__/_error.cpython-37.opt-1.pyc

B

���]p�
@spdZddlZddlZddlZGdd�de�Zejejejejej	ej
ej
ej
ejd�	ZGdd�de
�Ze�ZdS)z4
create errno-specific classes for IO or os calls.

�Nc@seZdZdd�Zdd�ZdS)�Errorc	Cs*d|jj|jj|jjd�tt|j��fS)Nz
%s.%s %r: %s � )�	__class__�
__module__�__name__�__doc__�join�map�str�args)�self�r
�:/opt/alt/python37/lib/python3.7/site-packages/py/_error.py�__repr__szError.__repr__cCs"d|jjd�tt|j��f}|S)Nz[%s]: %sr)rrrr	r
r)r�sr
r
r�__str__sz
Error.__str__N)rr�__qualname__rrr
r
r
rrsr)	�����
��i�c@s0eZdZdZeZiZdd�Zdd�Zdd�ZdS)	�
ErrorMakerz� lazily provides Exception classes for each possible POSIX errno
        (as defined per the 'errno' module).  All such instances
        subclass EnvironmentError.
    cCs8|ddkrt|��tt|�}|�|�}t|||�|S)Nr�_)�AttributeError�getattr�errno�_geterrnoclass�setattr)r�name�eno�clsr
r
r�__getattr__*s

zErrorMaker.__getattr__c
Cs`y
|j|Stk
rZtj�|d|f�}tt�|tfdt�|�d��}||j|<|SXdS)NzUnknownErrno%dzpy.error)rr)	�_errno2class�KeyErrorr�	errorcode�get�typer�os�strerror)rr#ZclsnameZerrorclsr
r
rr 2s

zErrorMaker._geterrnoclassc	Os�d}y
|||�S|jk
r&�Yn�ttfk
r�t��\}}}t|d�sR�d}|j}yt|t�slt	�Wnt	k
r�|�
|�}Yn.Xy|�
t|�}Wntk
r�|�YnX|d|j
|f��d}YnXdS)z= call a function and raise an errno-exception if applicable. TrFz%s%rN)r�OSError�EnvironmentError�sys�exc_info�hasattrr�
isinstanceZWindowsError�	NameErrorr �_winerrnomapr'r)	r�funcr�kwargsZ__tracebackhide__r$�value�tbrr
r
r�checked_call=s,



zErrorMaker.checked_callN)	rrrrrr&r%r r9r
r
r
rr"sr)rr/r+rr.r�ENOENTZEEXISTZEXDEVZEBUSYZENOTDIRZEACCESr4�objectr�errorr
r
r
r�<module>s
7