Your IP : 18.216.161.178


Current Path : /lib64/python3.8/importlib/__pycache__/
Upload File :
Current File : //lib64/python3.8/importlib/__pycache__/util.cpython-38.opt-2.pyc

U

e5d7,�@s(ddlmZddlmZddlmZddlmZddlmZddlmZddlm	Z	ddlm
Z
dd	lmZdd
lmZddlm
Z
dd
lmZddlZddlZddlZddlZddlZdd�Zdd�Zd#dd�Zd$dd�Zedd��Zdd�Zdd�Zdd�ZGdd �d ej�ZGd!d"�d"ej�Z dS)%�)�abc)�module_from_spec)�
_resolve_name)�spec_from_loader)�
_find_spec)�MAGIC_NUMBER)�_RAW_MAGIC_NUMBER)�cache_from_source)�
decode_source)�source_from_cache)�spec_from_file_location�)�contextmanagerNcCst�t|�S�N)�_imp�source_hashr)�source_bytes�r�&/usr/lib64/python3.8/importlib/util.pyrsrcCs\|�d�s|S|s&tdt|��d���d}|D]}|dkr>qH|d7}q.t||d�||�S)N�.zno package specified for z% (required for relative module names)r
r)�
startswith�
ValueError�reprr)�name�package�level�	characterrrr�resolve_names

rcCsx|tjkrt||�Stj|}|dkr*dSz
|j}Wn$tk
rXtd�|��d�YnX|dkrptd�|���|SdS)N�{}.__spec__ is not set�{}.__spec__ is None)�sys�modulesr�__spec__�AttributeErrorr�format)r�path�module�specrrr�_find_spec_from_path*s



r(c	
Cs�|�d�rt||�n|}|tjkr�|�d�d}|r�t|dgd�}z
|j}Wq�tk
r�}ztd|�d|��|d�|�W5d}~XYq�Xnd}t	||�Stj|}|dkr�dSz
|j
}Wn$tk
r�td�|��d�YnX|dkr�td	�|���|SdS)
Nrr
�__path__)�fromlistz __path__ attribute not found on z while trying to find )rrr)
rrr r!�
rpartition�
__import__r)r#�ModuleNotFoundErrorrr"rr$)	rr�fullname�parent_name�parent�parent_path�er&r'rrr�	find_specIs4

��


r3ccs�|tjk}tj�|�}|s6tt�|�}d|_|tj|<zJz
|VWn:tk
r||sxztj|=Wntk
rvYnXYnXW5d|_XdS)NTF)r r!�get�type�__initializing__�	Exception�KeyError)r�	is_reloadr&rrr�_module_to_loadvs


r:cst����fdd��}|S)NcsRtjdtdd��||�}t|dd�dkrN|j|_t|d�sN|j�d�d|_|S)N�7The import system now takes care of this automatically.���
stacklevel�__package__r)rr
)�warnings�warn�DeprecationWarning�getattr�__name__r?�hasattrr+)�args�kwargsr&��fxnrr�set_package_wrapper�s�

z(set_package.<locals>.set_package_wrapper��	functools�wraps)rIrJrrHr�set_package�s	rNcst����fdd��}|S)Ncs:tjdtdd��|f|�|�}t|dd�dkr6||_|S)Nr;r<r=�
__loader__)r@rArBrCrO)�selfrFrGr&rHrr�set_loader_wrapper�s�z&set_loader.<locals>.set_loader_wrapperrK)rIrQrrHr�
set_loader�srRcs*tjdtdd�t����fdd��}|S)Nr;r<r=c
s|t|��j}||_z|�|�}Wnttfk
r6YnX|rD||_n|�d�d|_�||f|�|�W5QR�SQRXdS)Nrr
)r:rO�
is_package�ImportErrorr#r?r+)rPr.rFrGr&rSrHrr�module_for_loader_wrapper�s
z4module_for_loader.<locals>.module_for_loader_wrapper)r@rArBrLrM)rIrUrrHr�module_for_loader�s�rVc@seZdZdd�Zdd�ZdS)�_LazyModulec	Cs�tj|_|jj}|jjd}|jjd}|j}i}|��D]:\}}||krT|||<q:t||�t||�kr:|||<q:|jj	�
|�|tjkr�t|�ttj|�kr�t
d|�d���|j�|�t||�S)N�__dict__�	__class__zmodule object for z. substituted in sys.modules during a lazy load)�types�
ModuleTyperYr"r�loader_staterX�items�id�loader�exec_moduler r!r�updaterC)	rP�attr�
original_name�
attrs_then�
original_type�	attrs_now�
attrs_updated�key�valuerrr�__getattribute__�s"


z_LazyModule.__getattribute__cCs|�|�t||�dSr)rj�delattr)rPrbrrr�__delattr__s
z_LazyModule.__delattr__N)rD�
__module__�__qualname__rjrlrrrrrW�s#rWc@s<eZdZedd��Zedd��Zdd�Zdd�Zd	d
�Z	dS)�
LazyLoadercCst|d�std��dS)Nr`z loader must define exec_module())rE�	TypeError)r_rrr�__check_eager_loaders
zLazyLoader.__check_eager_loadercs������fdd�S)Ncs��||��Srr)rFrG��clsr_rr�<lambda>�z$LazyLoader.factory.<locals>.<lambda>)�_LazyLoader__check_eager_loaderrrrrrr�factorys
zLazyLoader.factorycCs|�|�||_dSr)rvr_)rPr_rrr�__init__s
zLazyLoader.__init__cCs|j�|�Sr)r_�
create_module)rPr'rrrryszLazyLoader.create_modulecCs@|j|j_|j|_i}|j��|d<|j|d<||j_t|_dS)NrXrY)r_r"rOrX�copyrYr\rW)rPr&r\rrrr` s

zLazyLoader.exec_moduleN)
rDrmrn�staticmethodrv�classmethodrwrxryr`rrrrro
s

ro)N)N)!�r�
_bootstraprrrr�_bootstrap_externalrrr	r
rr�
contextlibrrrLr rZr@rrr(r3r:rNrRrVr[rW�Loaderrorrrr�<module>s6

-
'/

?>