B rwp鷲@s(ddlmZddlmZddlmZddlmZddlmZddlmZddlm Z ddlm Z dd lm Z dd lm Z dd lm Z d d lmZd dlZd dlZd dlZd dlZd dlZddZddZd#ddZd$ddZeddZddZddZddZGdd d ejZGd!d"d"ejZ 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 tt|S)N)_imp source_hashr) source_bytesr1/opt/alt/python37/lib/python3.7/importlib/util.pyrsrcCs^|ds|S|s&tdt|dd}x|D]}|dkr>P|d7}q0Wt||d||S)N.zno package specified for z% (required for relative module names)r r) startswith ValueErrorreprr)namepackagelevel characterrrr resolve_names   rcCsx|tjkrt||Stj|}|dkr*dSy |j}Wn$tk rXtd|dYnX|dkrptd||SdS)Nz{}.__spec__ is not setz{}.__spec__ is None)sysmodulesr__spec__AttributeErrorrformat)rpathmodulespecrrr_find_spec_from_path*s    r%c Cs|drt||n|}|tjkr|dd}|rt|dgd}y |j}Wqtk r}ztd|d||d|Wdd}~XYqXnd}t ||Stj|}|dkrdSy |j }Wn$tk rt d |dYnX|dkrt d ||SdS) Nrr __path__)fromlistz __path__ attribute not found on z while trying to find )rz{}.__spec__ is not setz{}.__spec__ is None) rrrr rpartition __import__r&r ModuleNotFoundErrorrrrr!) rrfullname parent_nameparent parent_pather#r$rrr find_specIs.     r0c cs|tjk}tj|}|s6tt|}d|_|tj|<zJy |VWn:tk r||sxy tj|=Wntk rvYnXYnXWdd|_XdS)NTF)rrgettype__initializing__ ExceptionKeyError)r is_reloadr#rrr_module_to_loadvs      r7cstfdd}|S)NcsRtjdtdd||}t|dddkrN|j|_t|dsN|jdd|_|S)Nz7The import system now takes care of this automatically.) stacklevel __package__r&rr )warningswarnDeprecationWarninggetattr__name__r:hasattrr()argskwargsr#)fxnrrset_package_wrappers   z(set_package..set_package_wrapper) functoolswraps)rCrDr)rCr set_packages rGcstfdd}|S)Ncs:tjdtdd|f||}t|dddkr6||_|S)Nz7The import system now takes care of this automatically.r8)r9 __loader__)r;r<r=r>rH)selfrArBr#)rCrrset_loader_wrappers  z&set_loader..set_loader_wrapper)rErF)rCrJr)rCr set_loadersrKcs*tjdtddtfdd}|S)Nz7The import system now takes care of this automatically.r8)r9c spt|^}||_y||}Wnttfk r6YnX|rD||_n|dd|_||f||SQRXdS)Nrr )r7rH is_package ImportErrorr r:r()rIr+rArBr#rL)rCrrmodule_for_loader_wrappers z4module_for_loader..module_for_loader_wrapper)r;r<r=rErF)rCrNr)rCrmodule_for_loaders rOc@seZdZddZddZdS) _LazyModulec Cstj|_|jj}|jjd}|jjd}|j}i}xF|D]:\}}||krV|||<q) rIattr original_name attrs_then original_type attrs_now attrs_updatedkeyvaluerrr__getattribute__s"      z_LazyModule.__getattribute__cCs||t||dS)N)rcdelattr)rIr[rrr __delattr__s z_LazyModule.__delattr__N)r? __module__ __qualname__rcrerrrrrPs#rPc@s<eZdZeddZeddZddZddZd d Z d S) LazyLoadercCst|dstddS)NrYz loader must define exec_module())r@ TypeError)rXrrr__check_eager_loaders zLazyLoader.__check_eager_loadercsfddS)Ncs||S)Nr)rArB)clsrXrrz$LazyLoader.factory..)_LazyLoader__check_eager_loader)rkrXr)rkrXrfactorys zLazyLoader.factorycCs||||_dS)N)rnrX)rIrXrrr__init__s zLazyLoader.__init__cCs |j|S)N)rX create_module)rIr$rrrrqszLazyLoader.create_modulecCs@|j|j_|j|_i}|j|d<|j|d<||j_t|_dS)NrQrR)rXrrHrQcopyrRrUrP)rIr#rUrrrrY s  zLazyLoader.exec_moduleN) r?rfrg staticmethodrn classmethodrorprqrYrrrrrh s   rh)N)N)!r _bootstraprrrr_bootstrap_externalrrr r r r contextlibrrrErrSr;rrr%r0r7rGrKrOrTrPLoaderrhrrrrs4              - '/