Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
3 \óYã@sdZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z e j ƒ�e j de ƒddlZWdQRXejdZejdZejdZejdZeefZejZiZdd „ZiZd d „ZGd d „d ƒZGdd„dƒZdd„Zedk�ry eƒZWnek �re dƒYnXdS)z3Find modules used by a script, using introspection.éNÚignoreÚ LOAD_CONSTÚ IMPORT_NAMEÚ STORE_NAMEÚ STORE_GLOBALcCstj|gƒj|ƒdS)N)ÚpackagePathMapÚ setdefaultÚappend)Z packagenameÚpath©r ú$/usr/lib64/python3.6/modulefinder.pyÚAddPackagePath sr cCs |t|<dS)N)ÚreplacePackageMap)ZoldnameÚnewnamer r r ÚReplacePackage+src@seZdZddd„Zdd„ZdS)ÚModuleNcCs(||_||_||_d|_i|_i|_dS)N)Ú__name__Ú__file__Ú__path__Ú__code__Ú globalnamesÚ starimports)ÚselfÚnameÚfiler r r r Ú__init__1s zModule.__init__cCsLd|jf}|jdk r&|d|jf}|jdk r@|d|jf}|d}|S)Nz Module(%rz, %rú))rrr)rÚsr r r Ú__repr__>s   zModule.__repr__)NN)rÚ __module__Ú __qualname__rrr r r r r/s rc@sèeZdZddggfdd„Zdd„Zdd„Zd d „Zd d „Zd d„Zd7dd„Z d9dd„Z dd„Z dd„Z d:dd„Z dd„Zdd„Zdd„Zd d!„ZdÚ ModuleFinderNrcCsB|dkrtj}||_i|_i|_||_d|_||_||_g|_dS)Nr) Úsysr ÚmodulesÚ badmodulesÚdebugÚindentÚexcludesÚ replace_pathsÚprocessed_paths)rr r%r'r(r r r rIszModuleFinder.__init__cGs^||jkrZxt|jƒD]}tddd�qWt|dd�x|D]}tt|ƒdd�qr?r@)rrAÚdirrZextrBrCr r r Ú load_fileps   zModuleFinder.load_filer5c Cs\|jdd||||ƒ|j||d�}|j||ƒ\}}|j||ƒ}|sF|S|jrX|j||ƒdS)NéÚ import_hook)r/)r4Údetermine_parentÚfind_head_packageÚ load_tailrÚensure_fromlist) rrÚcallerÚfromlistr/ÚparentÚqÚtailÚmr r r rJws  zModuleFinder.import_hookcCsP|jdd||ƒ| s|dkr.|jddƒdS|j}|dkrÆ|jrJ|d8}|dkrz|j|}||ksht‚|jdd|ƒ|S|jdƒ|kr�tdƒ‚dj|j dƒd| …ƒ}|j|}|jdd|ƒ|S|jrô|j|}||ksât‚|jdd|ƒ|Sd|k�r@|j dƒ}|d|…}|j|}|j|k�s.t‚|jdd|ƒ|S|jddƒdS) NérKrzdetermine_parent -> Noner5zdetermine_parent ->Ú.zrelative importpath too deep) r6r7rrr#ÚAssertionErrorÚcountÚ ImportErrorÚjoinrEÚrfind)rrOr/ZpnamerQr2r r r rK‚sB           zModuleFinder.determine_parentcCsâ|jdd||ƒd|kr@|jdƒ}|d|…}||dd…}n|}d}|r\d|j|f}n|}|j|||ƒ}|rŒ|jdd||fƒ||fS|rÄ|}d}|j|||ƒ}|rÄ|jdd||fƒ||fS|jdd|ƒtd |ƒ‚dS) NrUrLrVr5r:z%s.%szfind_head_package ->z"raise ImportError: No module namedzNo module named )r6ÚfindrÚ import_moduler7rY)rrQrr2ÚheadrSZqnamerRr r r rL¥s.  zModuleFinder.find_head_packagecCs¢|jdd||ƒ|}xz|rŽ|jdƒ}|dkr4t|ƒ}|d|…||dd…}}d|j|f}|j|||ƒ}|s|jdd|ƒtd|ƒ‚qW|jdd |ƒ|S) NrUrMrVrr5z%s.%sz"raise ImportError: No module namedzNo module named z load_tail ->)r6r\Úlenrr]r7rY)rrRrSrTr2r^Zmnamer r r rMÀs zModuleFinder.load_tailcCs„|jdd|||ƒxl|D]d}|dkrF|s||j|ƒ}|r||j||dƒqt||ƒsd|j|f}|j|||ƒ}|std|ƒ‚qWdS)NrUrNÚ*r5z%s.%szNo module named )r4Úfind_all_submodulesrNÚhasattrrr]rY)rrTrPÚ recursiveÚsubÚallÚsubnameZsubmodr r r rNÏs   zModuleFinder.ensure_fromlistc Csø|js dSi}g}|tjjdd…7}|tjjdd…7}|tjjdd…7}x |jD]–}ytj|ƒ}Wn$tk rŒ|j dd|ƒwVYnXx\|D]T}d}x6|D].}t |ƒ} || d…|kr¢|d| …}Pq¢W|r”|dkr”|||<q”WqVW|j ƒS)Nr8zcan't list directoryr) rÚ importlibÚ machineryÚEXTENSION_SUFFIXESÚSOURCE_SUFFIXESÚBYTECODE_SUFFIXESrDÚlistdirÚOSErrorr4r_Úkeys) rrTr#ÚsuffixesrGÚnamesrÚmodZsuffÚnr r r raÝs.    z ModuleFinder.find_all_submodulescCs|jdd|||ƒy|j|}Wntk r4YnX|jdd|ƒ|S||jkrb|jddƒdS|r€|jdkr€|jddƒdSy|j||o�|j|ƒ\}}}Wn"tk rÀ|jdddƒdSXz|j||||ƒ}Wd|rä|j ƒX|röt |||ƒ|jdd|ƒ|S)NrIr]zimport_module ->zimport_module -> None) r6r#ÚKeyErrorr7r$rÚ find_modulerYr@ÚcloseÚsetattr)rZpartnameÚfqnamerQrTrBrArCr r r r]ùs6     zModuleFinder.import_modulec Cs|\}}}|jdd||od|ƒ|tjkrH|j||ƒ}|jdd|ƒ|S|tjkrht|jƒd|dƒ} nj|tjkrÎyt j j |jƒƒ} Wn:t k rÀ} z|jddt | ƒ|ƒ‚WYdd} ~ XnXtj| ƒ} nd} |j|ƒ}||_| �r |jrø|j| ƒ} | |_|j| |ƒ|jdd|ƒ|S)Nr8r@rBzload_module ->Ú Úexeczraise ImportError: )r6r>Z PKG_DIRECTORYÚ load_packager7r?ÚcompileÚreadZ PY_COMPILEDrgÚ_bootstrap_externalÚ_validate_bytecode_headerrYr0ÚmarshalÚloadsÚ add_modulerr(Úreplace_paths_in_coderÚ scan_code) rrwrBrAÚ file_infoÚsuffixÚmodeÚtyperTÚcoZ marshal_dataÚexcr r r r@s2         zModuleFinder.load_modulecCs<||jkri|j|<|r*d|j||j<nd|j|d<dS)Nr5ú-)r$r)rrrOr r r Ú_add_badmodule4s   zModuleFinder._add_badmodulecCs||jkr|j||ƒdSy|j|||d�Wn@tk rn}z$|jddt|ƒƒ|j||ƒWYdd}~Xn”X|�rxŠ|D]‚}||jkr˜|j||ƒq|y|j|||g|d�Wq|tk rü}z0|jddt|ƒƒ|d|}|j||ƒWYdd}~Xq|Xq|WdS)N)r/r8z ImportError:rV)r$r‹rJrYr4r0)rrrOrPr/r4rdÚfullnamer r r Ú_safe_import_hook<s&      zModuleFinder._safe_import_hookc csø|j}|j}|j}dd„tj|ƒDƒ}xÌt|ƒD]À\}\}}|tkrVd||ffVq0|tkr0|dkr0||dd||ddko�tknr0|||dd} |||dd} | dkrÚd| ||ffVq0d| | ||ffVq0q0WdS) NcSs"g|]\}}}|tkr||f‘qSr )Ú EXTENDED_ARG)Ú.0Ú_Úopr3r r r ú Xsz-ModuleFinder.scan_opcodes..Ústorer8r5rÚabsolute_importÚrelative_import) Úco_codeÚco_namesÚ co_constsÚdisZ_unpack_opargsÚ enumerateÚ STORE_OPSrr) rrˆÚcoderpÚconstsZopargsr2r‘Zopargr/rPr r r Ú scan_opcodesSs 0zModuleFinder.scan_opcodescCs–|j}|j}�xT||ƒD�]F\}}|dkr<|\}d|j|<q|dk�r|\}}d} |dk rtd|krfd} dd„|Dƒ}|j|||dd�| �r`d} |jr¬|jj|jd |ƒ} | dkrÀ|jj|ƒ} | dk rú|jj| jƒ|j j| j ƒ| j dkrød|j |<n d|j |<q|d k�rX|\} }}|�r4|j|||| d�n"|j || d�} |j| jd|dd�qt |ƒ‚qWx,|j D]"} t| t|ƒƒ�rl|j| |ƒ�qlWdS) Nr“r5r”rr`cSsg|]}|dkr|‘qS)r`r )r�Úfr r r r’usz*ModuleFinder.scan_code..)r/rVr•)r–ržrr�rr#ÚgetrÚupdaterrrKÚ RuntimeErrorr˜Ú isinstancer‡rƒ)rrˆrTrœÚscannerZwhatr1rrPZ have_starZmmr/rQÚcr r r rƒhsH          zModuleFinder.scan_codec Cs˜|jdd||ƒtj|ƒ}|r"|}|j|ƒ}||_|g|_|jtj|gƒ|_|jd|jƒ\}}}z"|j||||ƒ|j dd|ƒ|S|r’|j ƒXdS)Nr8rzrzload_package ->) r6rr r�rrrrtr@r7ru)rrwrArrTrBZbufrCr r r rz™s  zModuleFinder.load_packagecCs*||jkr|j|St|ƒ|j|<}|S)N)r#r)rrwrTr r r r�®s  zModuleFinder.add_modulecCsr|dk r|jd|}n|}||jkr<|jdd|ƒt|ƒ‚|dkrf|tjkr`ddddtjffS|j}tj ||ƒS)NrVrIzfind_module -> Excludedr:) rr'r7rYr"Úbuiltin_module_namesr>Z C_BUILTINr rt)rrr rQrŒr r r rt´s  zModuleFinder.find_modulecCs"tƒtddƒtddƒt|jjƒƒ}xJ|D]B}|j|}|jrTtddd�n tddd�td ||jppd ƒq2W|jƒ\}}|rÊtƒtd ƒx2|D]*}t|j|jƒƒ}td |d dj|ƒƒqœW|�rtƒtddd�tdƒx2|D]*}t|j|jƒƒ}td |d dj|ƒƒqðWdS)z’Print 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ÚNameÚFileú----ÚPr*)r+rTz%-25sr:zMissing modules:ú?z imported fromz, z7Submodules that appear to be missing, but could also bez#global names in the parent package:N)r§r¨)r©r©) r-Úsortedr#rnrrÚany_missing_mayber$rZ)rrnÚkeyrTÚmissingÚmayberZmodsr r r ÚreportÅs0         zModuleFinder.reportcCs|jƒ\}}||S)z½Return 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­)rr¯r°r r r Ú any_missingçs zModuleFinder.any_missingcCsØg}g}x¶|jD]¬}||jkr q|jdƒ}|dkr>|j|ƒq||dd…}|d|…}|jj|ƒ}|dk r²||j|krˆ|j|ƒq¼||jkr”q¼|jr¦|j|ƒq¼|j|ƒq|j|ƒqW|jƒ|jƒ||fS)a®Return 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. rVrr5N) r$r'r[r r#r rrÚsort)rr¯r°rr2rfZpkgnameZpkgr r r r­ïs0           zModuleFinder.any_missing_maybecCstjj|jƒ}}x2|jD](\}}|j|ƒr||t|ƒd…}PqW|jr’||jkr’||krt|j dd||fƒn|j dd|fƒ|jj |ƒt |j ƒ}x8t t|ƒƒD](}t||t|ƒƒrª|j||ƒ||<qªWtj|j|j|j|j|j|jt|ƒ|j|j||j|j|j|j|j ƒS)Nr8zco_filename %r changed to %rz co_filename %r remains unchanged)!rDr ÚnormpathÚ co_filenamer(Ú startswithr_r%r)r7r Úlistr˜r,r£r‡r‚ÚtypesÚCodeTypeÚ co_argcountÚco_kwonlyargcountÚ co_nlocalsÚ co_stacksizeÚco_flagsr–Útupler—Ú co_varnamesÚco_nameÚco_firstlinenoÚ co_lnotabÚ co_freevarsÚ co_cellvars)rrˆZ new_filenameZoriginal_filenamerŸr;r�r2r r r r‚s,        z"ModuleFinder.replace_paths_in_codeéÿÿÿÿ)NNrÆrÆ)rÆ)rrÆ)rÆ)N)rrr rr4r6r7r9rHrJrKrLrMrNrar]r@r‹r�ržrƒrzr�rtr±r²r­r‚r r r r r!Gs2   #  1 ".r!cCsÂddl}y|jtjdd…dƒ\}}Wn*|jk rP}z t|ƒdSd}~XnXd}d}g}g}xb|D]Z\}} |dkr€|d}|dkrŒd}|dkr¤|| jtjƒ}|dkr°d}|dkrh|j| ƒqhW|sÐd } n|d} tj dd…} tj j | ƒ| d<|| } |dk�r.td ƒx| D]} td t | ƒƒ�qWt | ||ƒ} xp|dd…D]`}|dk�r^d}�qH|�rœ|dd…d k�r�| j |dd…ddgƒn | j |ƒn | j|ƒ�qHW| j| ƒ| jƒ| S)Nrr5zdmp:qx:z-dz-mz-pz-qz-xzhello.pyzpath:z r8z.*r`éþÿÿÿrÇ)Úgetoptr"ÚargvÚerrorr-rErDÚpathsepr r Údirnamer.r!rJrHr9r±)rÈZoptsr1r4r%ZdomodsZaddpathZexcludeÚoÚaZscriptr ÚitemÚmfr3r r r Útest:sX      rÑr<z [interrupted])!Ú__doc__r™Zimportlib._bootstrap_externalrgZimportlib.machineryrrDr"r¸ÚstructÚwarningsÚcatch_warningsÚ simplefilterÚDeprecationWarningr>Zopmaprrrrr›rŽrr rrrr!rÑrrÐÚKeyboardInterruptr-r r r r ÚsB      v;