%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python3.8/__pycache__/
Upload File :
Create Path :
Current File : //usr/local/lib/python3.8/__pycache__/modulefinder.cpython-38.pyc

U

nan_@sdZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddl
Z
ejdZejdZ
ejdZejdZeefZejZdZdZdZd	Zd
ZdZdZiZd
dZiZddZdddZGdddZGdddZddZ e!dkrz
e Z"Wne#k
re$dYnXdS)z3Find modules used by a script, using introspection.N
LOAD_CONSTIMPORT_NAME
STORE_NAMESTORE_GLOBALcCst|g|dSN)packagePathMap
setdefaultappend)Zpackagenamepathr(/usr/local/lib/python3.8/modulefinder.pyAddPackagePath(srcCs|t|<dSr)replacePackageMap)ZoldnamenewnamerrrReplacePackage3srcCstjjtjj||}|dkr8tdj|d|d|jtjjkrVddddt	ffS|jtjj
krtddddtffS|j}|j
|rdtj|ddtffSt|jtjjrt}n<t|jtjjrt}n&t|jtjjrt}nddddtffSt|}tj|d}|||d|ffS)zDAn importlib reimplementation of imp.find_module (for our purposes).NzNo module named {name!r})namerb)	importlib	machinery
PathFinderinvalidate_caches	find_specImportErrorformatloaderBuiltinImporter
_C_BUILTINFrozenImporter
_PY_FROZENorigin
is_packageosrdirname_PKG_DIRECTORY
isinstanceSourceFileLoader
_PY_SOURCEExtensionFileLoader_C_EXTENSIONSourcelessFileLoader_PY_COMPILED
_SEARCH_ERRORio	open_codesplitext)rrspecZ	file_pathkindfilesuffixrrr_find_module7s*
r;c@seZdZdddZddZdS)ModuleNcCs(||_||_||_d|_i|_i|_dSr)__name____file____path____code__globalnamesstarimports)selfrr9rrrr__init__fszModule.__init__cCsLd|jf}|jdk	r&|d|jf}|jdk	r@|d|jf}|d}|S)Nz	Module(%rz, %r))r=r>r?)rCsrrr__repr__ss

zModule.__repr__)NN)r=
__module____qualname__rDrGrrrrr<ds

r<c@seZdZd6ddZddZddZd	d
ZddZd
dZd7ddZ	d8ddZ
ddZddZd9ddZ
ddZddZddZd d!Zd:d"d#Zd$d%Zd&d'Zd(d)Zd*d+Zd;d,d-Zd.d/Zd0d1Zd2d3Zd4d5ZdS)<ModuleFinderNrcCsZ|dkrtj}||_i|_i|_||_d|_|dk	r8|ng|_|dk	rJ|ng|_g|_dS)Nr)	sysrmodules
badmodulesdebugindentexcludes
replace_pathsprocessed_paths)rCrrNrPrQrrrrD~szModuleFinder.__init__cGsV||jkrRt|jD]}tdddqt|dd|D]}tt|ddq6tdS)N    end)rNrangerOprintrepr)rClevelstrargsiargrrrmsgs
zModuleFinder.msgcGs,|d}||jkr(|jd|_|j|dSNrrrNrOr_rCr\rZrrrmsgins
zModuleFinder.msgincGs,|d}||jkr(|jd|_|j|dSr`rarbrrrmsgouts
zModuleFinder.msgoutc	CsB|dd|t| }ddtf}|d|||W5QRXdS)Nr
run_scriptrr__main__)r_r4r5r.load_module)rCpathnamefpstuffrrrres
zModuleFinder.run_scriptc	CsTtj|\}}tj|\}}t| }|dtf}|||||W5QRXdS)Nr)r)rsplitr6r4r5r.rg)rCrhdirrextrirjrrr	load_files

zModuleFinder.load_filerc	Cs\|dd|||||j||d}|||\}}|||}|sF|S|jrX|||dS)Nrimport_hookrZ)r_determine_parentfind_head_package	load_tailr?ensure_fromlist)	rCrcallerfromlistrZparentqtailmrrrroszModuleFinder.import_hookcCsN|dd|||r|dkr,|dddS|j}|dkr|jrH|d8}|dkrx|j|}||ksft|dd||S|d|krtdd|	dd|}|j|}|dd||S|jr|j|}||kst|dd||Sd|kr>|
d}|d|}|j|}|j|ks,t|dd||S|dddS)	Nrqrzdetermine_parent -> Nonerzdetermine_parent ->.zrelative importpath too deep)rcrdr=r?rLAssertionErrorcountr joinrkrfind)rCrurZZpnamerwr]rrrrqsB





zModuleFinder.determine_parentcCs|dd||d|kr@|d}|d|}||dd}n|}d}|r\d|j|f}n|}||||}|r|dd||f||fS|r|}d}||||}|r|dd||f||fS|dd|td	|dS)
Nr{rrr|rr%s.%szfind_head_package ->"raise ImportError: No module namedNo module named )rcfindr=
import_modulerdr )rCrwrr]headryZqnamerxrrrrrs.
zModuleFinder.find_head_packagecCs|dd|||}|r|d}|dkr2t|}|d|||dd}}d|j|f}||||}|s|dd|td|q|dd	||S)
Nr{rsr|rrrrrzload_tail ->)rcrlenr=rrdr )rCrxryrzr]rZmnamerrrrss
zModuleFinder.load_tailcCs|dd||||D]d}|dkrD|sz||}|rz|||dqt||sd|j|f}||||}|std|qdS)Nr{rt*rrr)r_find_all_submodulesrthasattrr=rr )rCrzrv	recursivesuballsubnameZsubmodrrrrts

zModuleFinder.ensure_fromlistc
	Cs|js
dSi}g}|tjjdd7}|tjjdd7}|tjjdd7}|jD]}zt|}Wn&tk
r|	dd|YqTYnX|D]R}d}|D]0}t
|}	||	d|kr|d|	}qq|r|dkr|||<qqT|S)Nrzcan't list directoryrD)r?rrEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXESr)listdirOSErrorr_rkeys)
rCrzrLsuffixesrlnamesrmodZsuffnrrrrs.

z ModuleFinder.find_all_submodulescCs
|dd|||z|j|}Wntk
r4YnX|dd||S||jkrb|dddS|r|jdkr|dddSz|||o|j|\}}}Wn$tk
r|dddYdSXz|	||||}W5|r|X|rt
||||dd||S)Nrrzimport_module ->zimport_module -> None)rcrLKeyErrorrdrMr?find_moduler closergsetattr)rCZpartnamefqnamerwrzrirhrjrrrr.s:

zModuleFinder.import_modulec
Cs(|\}}}|dd||od||tkrF|||}|dd||S|tkr`t||d}	n||tkrz|}
tj	
|
|iWn:tk
r}z|ddt||W5d}~XYnXt
t|
dd}	nd}	||}||_|	r|jr||	}	|	|_||	||dd||S)Nrrgrizload_module ->execzraise ImportError: )rcr+load_packagerdr.compilereadr2r_bootstrap_external
_classify_pycr r[marshalloads
memoryview
add_moduler>rQreplace_paths_in_coder@	scan_code)rCrrirh	file_infor:modetyperzcodataexcrrrrgNs4


zModuleFinder.load_modulecCs<||jkri|j|<|r*d|j||j<nd|j|d<dS)Nr-)rMr=)rCrrurrr_add_badmoduleks


zModuleFinder._add_badmodulecCsB||jkr|||dSz|j|||dWn~tk
rn}z"|ddt||||W5d}~XYntk
r}z"|ddt||||W5d}~XYnX|r>|D]}|d|}||jkr|||qz|j|||g|dWqtk
r:}z"|ddt||||W5d}~XYqXqdS)NrprzImportError:zSyntaxError:r|)rMrror r_r[SyntaxError)rCrrurvrZr_rfullnamerrr_safe_import_hookss,

zModuleFinder._safe_import_hookccs|j}|j}|j}ddt|D}t|D]\}\}}|tkrTd||ffVq.|tkr.|dkr.||dd||ddkrtkr.nq.|||dd}	|||dd}
|	dkrd|
||ffVq.d|	|
||ffVq.q.dS)	NcSs"g|]\}}}|tkr||fqSr)EXTENDED_ARG).0_opr^rrr
<listcomp>sz-ModuleFinder.scan_opcodes.<locals>.<listcomp>storerrrabsolute_importrelative_import)	co_codeco_names	co_constsdisZ_unpack_opargs	enumerate	STORE_OPSrr)rCrcoderconstsZopargsr]rZopargrZrvrrrscan_opcodess(
zModuleFinder.scan_opcodescCs|j}|j}||D]F\}}|dkr8|\}d|j|<q|dkr|\}}d}	|dk	rpd|krbd}	dd|D}|j|||dd|	r\d}
|jr|j|jd	|}
|
dkr|j|}
|
dk	r|j|
j|j	|
j	|
j
dkrd|j	|<n
d|j	|<q|d
krT|\}}}|r0|j||||dn"|j||d}|j|jd|ddqt|q|j
D]"}
t|
t|rd||
|qddS)NrrrrrcSsg|]}|dkr|qS)rr)rfrrrrsz*ModuleFinder.scan_code.<locals>.<listcomp>rpr|r)rrrArr?rLgetr=updaterBr@rqRuntimeErrorrr,rr)rCrrzrscannerZwhatr\rrvZ	have_starZmmrZrwcrrrrsH





zModuleFinder.scan_codecCs|dd||t|}|r"|}||}||_|g|_|jt|g|_|d|j\}}}z&|	|||||
dd||WS|r|XdS)NrrrDzload_package ->)rcrrrr>r?r
rrrgrd)rCrrhrrzribufrjrrrrs

zModuleFinder.load_packagecCs*||jkr|j|St||j|<}|Sr)rLr<)rCrrzrrrrs

zModuleFinder.add_modulecCsn|dk	r|jd|}n|}||jkr<|dd|t||dkrd|tjkr^ddddtffS|j}t||S)Nr|rzfind_module -> Excludedr)	r=rPrdr rKbuiltin_module_namesr$rr;)rCrrrwrrrrrs

zModuleFinder.find_modulecCsttddtddt|j}|D]B}|j|}|jrRtdddntdddtd||jpnd	q0|\}}|rttd
|D]*}t|j|}td|dd
|q|rttdddtd|D]*}t|j|}td|dd
|qdS)zPrint a report to stdout, listing the found modules with their
        paths, as well as modules that are missing, or seem to be missing.
        z
  %-25s %s)NameZFile)----rPrTrUrzz%-25srzMissing modules:?z
imported fromz, z7Submodules that appear to be missing, but could also bez#global names in the parent package:N)	rXsortedrLrr?r>any_missing_mayberMr)rCrkeyrzmissingmayberZmodsrrrreports0
zModuleFinder.reportcCs|\}}||S)zReturn a list of modules that appear to be missing. Use
        any_missing_maybe() if you want to know which modules are
        certain to be missing, and which *may* be missing.
        )r)rCrrrrrany_missing"szModuleFinder.any_missingcCsg}g}|jD]}||jkrq|d}|dkr<||q||dd}|d|}|j|}|dk	r||j|kr||q||jkrq|jr||q||q||q||||fS)aReturn two lists, one with modules that are certainly missing
        and one with modules that *may* be missing. The latter names could
        either be submodules *or* just global names in the package.

        The reason it can't always be determined is that it's impossible to
        tell which names are imported when "from module import *" is done
        with an extension module, short of actually importing it.
        r|rrN)	rMrPrrrLrrArBsort)rCrrrr]rZpkgnameZpkgrrrr*s0	




zModuleFinder.any_missing_maybecCstj|j}}|jD]*\}}||r||t|d}qDq|jr||jkr||krr|	dd||fn|	dd|f|j
|t|j}t
t|D](}t||t|r|||||<q|jt||dS)Nrzco_filename %r changed to %rz co_filename %r remains unchanged)rco_filename)r)rnormpathrrQ
startswithrrNrRrdrlistrrWr,rrreplacetuple)rCrZnew_filenameZoriginal_filenamerrrr]rrrrXs&

z"ModuleFinder.replace_paths_in_code)NrNN)NNr)r)r)r)N)r=rHrIrDr_rcrdrernrorqrrrsrtrrrgrrrrrrrrrrrrrrrrJ|s2
	

#
 
1
".rJc
Csddl}z|tjddd\}}Wn2|jk
rX}zt|WYdSd}~XYnXd}d}g}g}|D]Z\}}	|dkr|d}|dkrd}|dkr||	tj}|dkrd}|dkrn||	qn|sd	}
n|d}
tj	dd}tj	
|
|d<||}|dkr.td
|D]}tdt|qt|||}
|ddD]`}|dkr\d}qF|r|ddd
kr|

|ddddgn
|

|n
|
|qF|
|
|
|
S)Nrrzdmp:qx:z-dz-mz-pz-qz-xzhello.pyzpath:rSz.*r)getoptrKargverrorrXrkr)pathseprrr*rYrJrornrer)rZoptsr\r_rNZdomodsZaddpathZexcludeoaZscriptritemmfr^rrrtestpsX


rrfz
[interrupted])N)%__doc__rZimportlib._bootstrap_externalrZimportlib.machineryrr)r4rKtypeswarningsZopmaprrrrrrr3r.r2r0r+r$r&r
rrrr;r<rJrr=rKeyboardInterruptrXrrrr<module>sL




-w;



Zerion Mini Shell 1.0