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



]kS@sddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlZdddddd	d
ddd
dgZddZ
dd
ZdddddZdddd	ZedddZdddZejejjeddZGdddZGdddZy?ddlZddlmZdddZejeeWnek
rYnXd dZdd!dZd"dZd#dZ d$dZ!d%d
Z"dS)&)singledispatchN)
ModuleTypeget_importeriter_importers
get_loaderfind_loader
walk_packagesiter_modulesget_dataImpImporter	ImpLoader	read_codeextend_pathcCsby
|j}WnDtk
rS|j|}|dkr<dStjj||SYnX||SdS)N)	find_specAttributeErrorfind_module	importlibutilspec_from_loader)findernamerloaderr,/opt/alt/python35/lib64/python3.5/pkgutil.py	_get_specs

rcCs]ddl}|jd}|tjjkrC|tjjkrCdS|jd|j|S)Nr)marshalreadrrMAGIC_NUMBER_BACKCOMPAT_MAGIC_NUMBERload)streamrmagicrrrr
"s
c
#siddxt||D]\}}}|||fV|ryt|WnUtk
rz|dk	rv||Yqtk
r|dk	r||nYqXttj|ddpg}fdd|D}t||d|EdHqWdS)NcSs||krdSd||<dS)NTr)pmrrrseenOszwalk_packages.<locals>.seen__path__cs"g|]}|s|qSrr).0r%)r'rr
<listcomp>fs	z!walk_packages.<locals>.<listcomp>.)r	
__import__ImportError	Exceptiongetattrsysmodulesr)pathprefixonerrorimporterrispkgr)r'rr2s 


ccs|dkrt}ntt|}i}xR|D]J}xAt||D]0\}}||krJd||<|||fVqJWq4WdS)N)rmapriter_importer_modules)r2r3Z	importersyieldedirr6rrrr	ks

cCs t|dsgS|j|S)Nr	)hasattrr	)r5r3rrrr9sr9ccs|jdks%tjj|jr)dSi}ddl}ytj|j}Wntk
rkg}YnX|jx|D]}|j|}|dks}||krq}tjj|j|}d}|rZtjj|rZd|krZ|}ytj|}	Wntk
r#g}	YnXx3|	D](}|j|}
|
dkr+d}Pq+Wq}|r}d|kr}d||<|||fVq}WdS)Nr__init__Fr+Tr7)	r2osisdirinspectlistdirOSErrorsort
getmodulenamejoin)r5r3r:r@	filenamesfnmodnamer2r6dircontentssubnamerrr_iter_file_finder_moduless<%


%


rKc
Cs7tj$tjdttjdaWdQRXdS)Nignoreimp)warningscatch_warningssimplefilterPendingDeprecationWarningr
import_modulerMrrrr_import_imps
rSc@s=eZdZdddZdddZdddZdS)	rNcCs$tjdtt||_dS)Nz5This emulation is deprecated, use 'importlib' instead)rNwarnDeprecationWarningrSr2)selfr2rrrr=s	zImpImporter.__init__c
Cs|jdd}||kr2|jdkr2dS|jdkrJd}ntjj|jg}ytj||\}}}Wntk
rdSYnXt||||S)Nr+r7)splitr2r>realpathrMrr-r)rVfullnamer2rJfilefilenameetcrrrrs	
	zImpImporter.find_moduler$ccs|jdks%tjj|jr)dSi}ddl}ytj|j}Wntk
rkg}YnX|jx|D]}|j|}|dks}||krq}tjj|j|}d}|rZtjj|rZd|krZ|}ytj|}	Wntk
r#g}	YnXx3|	D](}|j|}
|
dkr+d}Pq+Wq}|r}d|kr}d||<|||fVq}WdS)Nrr=Fr+Tr7)	r2r>r?r@rArBrCrDrE)rVr3r:r@rFrGrHr2r6rIrJrrrr	s<%


%


zImpImporter.iter_modules)__name__
__module____qualname__r=rr	rrrrrsc@seZdZdZZddZddZddZdd	Zd
dZ	dd
Z
dddZdddZddZ
dddZdS)rNcCs?tjdtt||_||_||_||_dS)Nz5This emulation is deprecated, use 'importlib' instead)rNrTrUrSr[r\rZr])rVrZr[r\r]rrrr=s				zImpLoader.__init__cCsM|jz%tj||j|j|j}Wd|jrH|jjX|S)N)_reopenrMload_moduler[r\r]close)rVrZmodrrrrbs
%	zImpLoader.load_modulec	Cs't|d}|jSWdQRXdS)Nrb)openr)rVpathnamer[rrrr
 szImpLoader.get_datacCsz|jrv|jjrv|jd}|tjkrIt|jd|_n-|tjtjfkrvt|jd|_dS)Nrre)	r[closedr]rM	PY_SOURCErfr\PY_COMPILEDC_EXTENSION)rVmod_typerrrra$s
zImpLoader._reopencCsD|dkr|j}n(||jkr@td|j|f|S)Nz,Loader for module %s cannot handle module %s)rZr-)rVrZrrr	_fix_name,szImpLoader._fix_namecCs#|j|}|jdtjkS)Nrh)ror]rM
PKG_DIRECTORY)rVrZrrr
is_package4szImpLoader.is_packagec
Cs|j|}|jdkr|jd}|tjkrd|j|}t||jd|_ng|tjkr|j	zt
|j|_Wd|jjXn$|tj
kr|jj|_|jS)Nrhexec)rocoder]rMrk
get_sourcecompiler\rlrar
r[rcrp
_get_delegateget_code)rVrZrnsourcerrrrw8s

zImpLoader.get_codec
Cs|j|}|jdkr|jd}|tjkrn|jz|jj|_Wd|jjXn|tj	krt
jj|j
ddrt|j
ddd}|j|_WdQRXn$|tjkr|jj|_|jS)Nrhr7rirWrW)rorxr]rMrkrar[rrcrlr>r2existsr\rfrprvrt)rVrZrnfrrrrtIs

zImpLoader.get_sourcecCs%t|j}t|d}|jS)Nr=)rr\rr)rVrspecrrrrv[szImpLoader._get_delegatecCsd|j|}|jd}|tjkr;|jjS|tjtjtjfkr`|j	SdS)Nrh)
ror]rMrprvget_filenamerkrlrmr\)rVrZrnrrrr|`s
zImpLoader.get_filename)r^r_r`rsrxr=rbr
rarorqrwrtrvr|rrrrrs
	)zipimporterc	csDttj|j}|j}t|}i}ddl}x|D]}|j|s\qD||djt	j
}t|dkr|djdr|d|krd||d<||ddfVt|dkrqD|j|d}|dkrqD|rDd|krD||krDd||<||dfVqDWdS)	Nrrhr7z__init__.pyTr=r+F)sorted	zipimport_zip_directory_cachearchiver3lenr@
startswithrXr>seprD)	r5r3dirlistZ_prefixZplenr:r@rGrHrrriter_zipimport_modulesns*	
%
rcCs}ytj|}Wnetk
rxxPtjD]?}y$||}tjj||PWq+tk
riYq+Xq+Wd}YnX|S)N)r0path_importer_cacheKeyError
path_hooks
setdefaultr-)Z	path_itemr5	path_hookrrrrs	

	ccs|jdr*dj|}t|d|kr}|jdd}tj|}t|dd}|dkrdSntjEdHtj	}x|D]}t
|VqWdS)Nr+z'Relative module name {!r} not supportedrr()rformatr-
rpartitionrrRr/r0	meta_pathr2r)rZmsgZpkg_nameZpkgr2itemrrrrs	
cCs|tjkr,tj|}|dkr,dSt|tr|}t|dd}|dk	rc|St|dddkrdS|j}n|}t|S)N
__loader____spec__)r0r1
isinstancerr/r^r)Zmodule_or_namemodulerrZrrrrs
cCs|jdr*dj|}t|ytjj|}Wn[ttttfk
r}z/d}t|j|t	|||WYdd}~XnX|dk	r|j
SdS)Nr+z'Relative module name {!r} not supportedz,Error while finding loader for {!r} ({}: {}))rrr-rrrr	TypeError
ValueErrortyper)rZrr{exrrrrs7cCs&t|ts|S|d}|dd}|jd\}}}|rytj|j}Wqttfk
r}|SYqXn	tj}x|D]}t|t	sqt
|}|dk	rQg}	t|dr|j|}
|
dk	r'|
j
pg}	n$t|dr'|j|\}}	x'|	D]}||kr.|j|q.Wtjj||}tjj|ryt|}
Wn?tk
r}ztjjd||fWYdd}~XqX|
KxC|
D];}|jd}|s|jdrq|j|qWWdQRXqW|S)Nz.pkgr+rrzCan't open %s: %s

#)rlistrr0r1r(rrr2strrr<rsubmodule_search_locationsrappendr>rEisfilerfrBstderrwriterstripr)r2rZ	sname_pkgZparent_package_Z
final_nameZsearch_pathdirrportionsr{ZportionZpkgfilerzrlinerrrrsP!
	

!
cCstjj|}|dkr"dS|j}|dksGt|drKdStjj|pltjj	|}|dkst|drdS|j
d}|jdtj
j|jtj
j|}|j|S)Nr
__file__/r)rrrrr<r0r1get
_bootstrap_loadrXinsertr>r2dirnamerrEr
)packageZresourcer{rrdpartsZ
resource_namerrrr
Ps	)#	functoolsrZ
simplegenericrimportlib.utilZimportlib.machineryr>Zos.pathr0typesrrN__all__rr
rr	r9rKregister	machinery
FileFinderrSrrrr}rr-rrrrrr
rrrr<module>sH	9(Jc
^
Back to Directory File Manager