Viewing File: /opt/alt/python35/lib64/python3.5/importlib/__pycache__/util.cpython-35.opt-2.pyc



]S*@sddlmZddlmZddlmZddlmZddlmZddlmZm	Z	ddlm
Z
ddlmZdd	lmZdd
lm
Z
ddlmZdd
lZdd
lZdd
lZdd
lZddZd
ddZd
ddZeddZddZddZddZGdddejZGdddejZGd d!d!ejZd
S)")abc)module_from_spec)
_resolve_name)spec_from_loader)
_find_spec)MAGIC_NUMBER_BACKCOMPAT_MAGIC_NUMBER)cache_from_source)
decode_source)source_from_cache)spec_from_file_location)contextmanagerNcCsv|jds|S|s.tdj|d}x%|D]}|dkrNP|d7}q;Wt||d||S)N.z,{!r} is not a relative name (no leading dot)r
r)
startswith
ValueErrorformatr)namepackagelevel	characterr)/opt/alt/python35/lib64/python3.5/util.pyresolve_names	
rcCs|tjkrt||Stj|}|dkr9dSy
|j}Wn*tk
rrtdj|dYn&X|dkrtdj||SdS)Nz{}.__spec__ is not setz{}.__spec__ is None)sysmodulesr__spec__AttributeErrorrr)rpathmodulespecrrr_find_spec_from_path#s



r!cCs|jdrt||n|}|tjkr|jdd}|rqt|ddg}t||jSt|dSn|tj|}|dkrdSy
|j}Wn*t	k
rt
dj|dYn&X|dkrt
dj||SdS)Nrr
fromlist__path__z{}.__spec__ is not setz{}.__spec__ is None)rrrr
rpartition
__import__rr#rrrr)rrfullnameparent_nameparentrr rrr	find_specBs"$


r)ccs|tjk}tjj|}|sOtt|}d|_|tj|<zKy	|VWn;tk
r|sytj|=Wntk
rYnXYnXWdd|_XdS)NTF)rrgettype__initializing__	ExceptionKeyError)r	is_reloadrrrr_module_to_loadjs	
	

r0cs%tjfdd}|S)Ncsutjdtdd||}t|dddkrq|j|_t|dsq|jjdd|_|S)Nz7The import system now takes care of this automatically.
stacklevel__package__r#rr
)warningswarnDeprecationWarninggetattr__name__r3hasattrr$)argskwargsr)fxnrrset_package_wrappers	
z(set_package.<locals>.set_package_wrapper)	functoolswraps)r<r=r)r<rset_packages!
r@cs%tjfdd}|S)NcsMtjdtdd|||}t|dddkrI||_|S)Nz7The import system now takes care of this automatically.r1r2
__loader__)r4r5r6r7rA)selfr:r;r)r<rrset_loader_wrappers	
	z&set_loader.<locals>.set_loader_wrapper)r>r?)r<rCr)r<r
set_loaders!rDcs;tjdtddtjfdd}|S)Nz7The import system now takes care of this automatically.r1r2cst|y}||_y|j|}Wnttfk
rEYn)X|rX||_n|jdd|_||||SWdQRXdS)Nrr
)r0rA
is_packageImportErrorrr3r$)rBr&r:r;rrE)r<rrmodule_for_loader_wrappers	z4module_for_loader.<locals>.module_for_loader_wrapper)r4r5r6r>r?)r<rGr)r<rmodule_for_loaders	
!rHc@seZdZdS)_ModuleN)r8
__module____qualname__rrrrrIsrIc@s(eZdZddZddZdS)_LazyModulec	Cs	t|_|jj}|jj}|j}i}x]|jD]O\}}||krb|||<q=t||t||kr=|||<q=W|jjj	||t
jkrt|tt
j|krd}t|j
||jj|t||S)NzDmodule object for {!r} substituted in sys.modules during a lazy load)rI	__class__rrloader_state__dict__itemsidloaderexec_modulerrrrupdater7)	rBattr
original_name
attrs_then	attrs_now
attrs_updatedkeyvaluemsgrrr__getattribute__s"		
 z_LazyModule.__getattribute__cCs|j|t||dS)N)r]delattr)rBrUrrr__delattr__s
z_LazyModule.__delattr__N)r8rJrKr]r_rrrrrLs"rLc@sXeZdZeddZeddZddZddZd	d
Z	dS)
LazyLoadercCst|dstddS)NrSz loader must define exec_module())r9	TypeError)rRrrr__check_eager_loaderszLazyLoader.__check_eager_loadercs jfddS)Ncs||S)Nr)r:r;)clsrRrr<lambda>sz$LazyLoader.factory.<locals>.<lambda>)_LazyLoader__check_eager_loader)rcrRr)rcrRrfactorys
zLazyLoader.factorycCs|j|||_dS)N)rerR)rBrRrrr__init__s
zLazyLoader.__init__cCs
t|jS)N)rIr)rBr rrr
create_moduleszLazyLoader.create_modulecCs=|j|j_|j|_|jj|j_t|_dS)N)rRrrArOcopyrNrLrM)rBrrrrrSszLazyLoader.exec_moduleN)
r8rJrKstaticmethodreclassmethodrfrgrhrSrrrrr`s
r`) r
_bootstraprrrr_bootstrap_externalrrr	r
rr
contextlibrr>rtypesr4rr!r)r0r@rDrH
ModuleTyperIrLLoaderr`rrrr<module>s0('.
Back to Directory File Manager