Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÝPfx;ã@s¬ddlmZddlZddlZddlZddlZddlZddlmZm Z m Z ddl m Z ddl mZmZmZmZmZejeƒZdjƒZejdƒZd Zd d „ZGd d „d eƒZdS)é)ÚBytesIONé)Ú sysconfigÚdetect_encodingÚZipFile)Úfinder)Ú FileOperatorÚget_export_entryÚ convert_pathÚget_executableÚin_venvañ s^#!.*pythonw?[0-9.]*([ ].*)?$a|# -*- coding: utf-8 -*- if __name__ == '__main__': import sys, re def _resolve(module, func): __import__(module) mod = sys.modules[module] parts = func.split('.') result = getattr(mod, parts.pop(0)) for p in parts: result = getattr(result, p) return result try: sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0]) func = _resolve('%(module)s', '%(func)s') rc = func() # None interpreted as 0 except Exception as e: # only supporting Python >= 2.6 sys.stderr.write('%%s\n' %% e) rc = 1 sys.exit(rc) cCsZd|krV|jdƒrD|jddƒ\}}d|krV|jdƒ rVd||f}n|jdƒsVd|}|S)Nú z /usr/bin/env rú"z%s "%s"z"%s")Ú startswithÚsplit)Ú executableÚenvZ _executable©rú/usr/lib/python3.6/scripts.pyÚ_enquote_executableBs  rc@sÒeZdZdZeZdZd%dd„Zdd„Ze j j d ƒrBd d „Z d d „Z d&dd„Zdd„ZeZdd„Zdd„Zd'dd„Zdd„Zedd„ƒZejdd„ƒZejdks²ejd krºejdkrºdd „Zd(d!d"„Zd)d#d$„ZdS)*Ú ScriptMakerz_ A class to copy or create scripts from source scripts or callable specifications. NTFcCsz||_||_||_d|_d|_tjdkp:tjdko:tjdk|_t dƒ|_ |pRt |ƒ|_ tjdkprtjdkortjdk|_ dS)NFÚposixÚjavaÚúX.YÚnt)rr)Ú source_dirÚ target_dirÚ add_launchersÚforceÚclobberÚosÚnameÚ_nameÚset_modeÚsetÚvariantsrÚ_fileopÚ_is_nt)ÚselfrrrÚdry_runZfileoprrrÚ__init__[s   zScriptMaker.__init__cCs@|jddƒr<|jr|jdƒ}n |jdƒ}tƒ} t| dƒ�} | jd|ƒWdQRX| j ƒ} |||| }�xd|D�]Z} tj j |j | ƒ} |�rrtj j | ƒ\}}|jdƒrÊ|} d| } y|jj| |ƒWnŠtk �rntjdƒd | }tj j|ƒ�r tj|ƒtj| |ƒ|jj| |ƒtjd ƒytj|ƒWntk �rhYnXYnXnp|j�r˜| jd |ƒ �r˜d | |f} tj j| ƒ�r¾|j �r¾tjd | ƒq�|jj| |ƒ|j�râ|jj| gƒ|j| ƒq�WdS)Nzutf-8ÚpyÚtÚwz __main__.pyz.pyz%s.exez:Failed to write executable - trying to use .deleteme logicz %s.deletemez0Able to replace executable using .deleteme logicÚ.z%s.%szSkipping existing file %s)rr(r!ÚlineseprMÚ _get_launcherrrZwritestrÚgetvaluer/r1rÚsplitextrr'Zwrite_binary_fileÚ Exceptionr:r;ÚexistsÚremoveÚrenameÚdebugr?r r$Úset_executable_modeÚappend)r)ÚnamesrSZ script_bytesÚ filenamesÚextZ use_launcherreZlauncherÚstreamZzfZzip_datar"ÚoutnameÚnÚeZdfnamerrrÚ _write_scriptÍsT            zScriptMaker._write_scriptc Csèd}|r0|jdgƒ}|r0ddj|ƒ}|jdƒ}|jd||d�}|j|ƒjdƒ}|j}tƒ} d|jkrp| j|ƒd|jkr’| jd |t j d fƒd |jkr¸| jd |t j dd …fƒ|rÎ|jddƒrÎd} nd} |j | |||| ƒdS)NrAZinterpreter_argsz %sr zutf-8)r2rÚXz%s%srzX.Yz%s-%sér,FÚpywra) r.r1rMrTr\r"r%r&ÚaddrJÚversionrw) r)r[rqr2rRÚargsrSÚscriptr"Z scriptnamesrrrrrÚ _make_scriptÿs(      zScriptMaker._make_scriptcCsœd}tjj|jt|ƒƒ}tjj|jtjj|ƒƒ}|j rX|jj ||ƒ rXt j d|ƒdSyt |dƒ}Wn t k r†|js~‚d}YnLX|jƒ}|sªt jd|jƒ|ƒdStj|jddƒƒ}|rÒd}|jdƒpÐd }|�s|rä|jƒ|jj||ƒ|j�r|jj|gƒ|j|ƒn„t jd ||jƒ|jj�sŠt|jƒ\} } |jd ƒ|j| |ƒ} d |k�rbd } nd} tjj|ƒ} |j| g| |j ƒ|| ƒ|�r˜|jƒdS)NFznot copying %s (up-to-date)Úrbz"%s: %s is an empty file (skipping)s rFTrrAzcopying and adjusting %s -> %srspythonwrzra)!r!r/r1rr rr]rr'Znewerr:rmr6r9r*Úreadliner;Zget_command_nameÚ FIRST_LINE_REÚmatchr0ÚgroupÚcloseZ copy_filer$rnroÚinforÚseekrTrwr7)r)r~rqZadjustrtÚfZ first_linerƒrRrQÚlinesrSrrrurrrÚ _copy_scriptsR         zScriptMaker._copy_scriptcCs|jjS)N)r'r*)r)rrrr*JszScriptMaker.dry_runcCs ||j_dS)N)r'r*)r)Úvaluerrrr*NsrcCsHtjdƒdkrd}nd}d||f}tjddƒd}t|ƒj|ƒj}|S) NÚPéZ64Z32z%s%s.exerdrr)ÚstructÚcalcsizeÚ__name__ÚrsplitrÚfindÚbytes)r)ZkindÚbitsr"Zdistlib_packageÚresultrrrrfVs zScriptMaker._get_launchercCs6g}t|ƒ}|dkr"|j||ƒn|j|||d�|S)aÓ Make a script. :param specification: The specification, which is either a valid export entry specification (to make a script from a callable) or a filename (to make a script by copying from a source location). :param options: A dictionary of options controlling script generation. :return: A list of all absolute pathnames written to. N)r2)r rŠr)r)Ú specificationr2rqr[rrrÚmakeds zScriptMaker.makecCs(g}x|D]}|j|j||ƒƒq W|S)z Take a list of specifications and make scripts from them, :param specifications: A list of specifications. :return: A list of all absolute pathnames written to, )Úextendr—)r)Zspecificationsr2rqr–rrrÚ make_multiplews zScriptMaker.make_multiple)TFN)rAN)N)N)N)r�Ú __module__Ú __qualname__Ú__doc__ÚSCRIPT_TEMPLATErWrr+r4rJrKrr=r@rTr\Ú_DEFAULT_MANIFESTr^r`rwrrŠÚpropertyr*Úsetterr!r"r#rfr—r™rrrrrRs,    82 4  r)ÚiorZloggingr!ÚrerŽrJÚcompatrrrZ resourcesrÚutilrr r r r Z getLoggerr�r:ÚstripržÚcompiler‚r�rÚobjectrrrrrÚs