/usr/local/lib/python3.6/site-packages/distlib/__pycache__
NameSizeModeActions
compat.cpython-36.pyc315800644editdlrm
database.cpython-36.pyc430950644editdlrm
index.cpython-36.pyc170910644editdlrm
locators.cpython-36.pyc385820644editdlrm
manifest.cpython-36.pyc103070644editdlrm
markers.cpython-36.pyc52970644editdlrm
metadata.cpython-36.pyc276730644editdlrm
resources.cpython-36.pyc108460644editdlrm
scripts.cpython-36.pyc115000644editdlrm
util.cpython-36.pyc518470644editdlrm
version.cpython-36.pyc208310644editdlrm
wheel.cpython-36.pyc277940644editdlrm
__init__.cpython-36.pyc9970644editdlrm
Edit: /usr/local/lib/python3.6/site-packages/distlib/__pycache__/scripts.cpython-36.pyc (11500B)
3 0DgH@sddlmZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z m Z ddlmZddlmZmZmZmZmZmZejeZdjZejd Zd Zejd ksejd krej d krej!d ddZ"ddee"j#dDZ$ddZ%e%Z&Gddde'Z(dS))BytesION)ZipInfo) sysconfigdetect_encodingZipFile)finder) FileOperatorget_export_entry convert_pathget_executable get_platformin_venva s^#!.*pythonw?[0-9.]*([ ].*)?$z# -*- coding: utf-8 -*- import re import sys from %(module)s import %(import_name)s if __name__ == '__main__': sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) sys.exit(%(func)s()) ntjava.cCs"i|]}|jjdr|j|jqS)z.exe)nameendswithbytes).0rr9/usr/local/lib/python3.6/site-packages/distlib/scripts.py @srcCsZd|krV|jdrD|jdd\}}d|krV|jd rVd||f}n|jdsVd|}|S)N z /usr/bin/env r"z%s "%s"z"%s") startswithsplit) executableenv _executablerrrenquote_executableGs  r"c@seZdZdZeZdZd*ddZddZe j j d rBd d Z d d Z ddZd+ddZddZeZddZddZdZddZd,ddZddZed d!Zejd"d!Zejd#ksejd krejd#krd$d%Zd-d&d'Z d.d(d)Z!dS)/ ScriptMakerz_ A class to copy or create scripts from source scripts or callable specifications. NTFcCs||_||_||_d|_d|_tjdkp:tjdko:tjdk|_t d|_ |pRt ||_ tjdkprtjdkortjdk|_ tj|_dS)NFposixrrX.Yr)rr%) source_dir target_dir add_launchersforceclobberosr_nameset_modesetvariantsr _fileop_is_ntsys version_info)selfr&r'r(dry_runfileoprrr__init__ds   zScriptMaker.__init__cCs@|jddr<|jrget_pathget_config_varrrBr2rYrrQr"encoder_decodeUnicodeDecodeError ValueError)r4encodingrZr?enquotershebangrrr _get_shebangsH        zScriptMaker._get_shebangcCs$|jt|j|jjdd|jdS)Nrr)module import_namefunc)script_templatedictprefixsuffixr)r4entryrrr_get_script_textszScriptMaker._get_script_textcCstjj|}|j|S)N)r+r<basenamemanifest)r4exenamebaserrr get_manifests zScriptMaker.get_manifestcCs |jo |j}|s||}n|dkr.|jd}n |jd}t}t|dR} tjjd} | rtj t | dd} t d| d} | j | |n | j d|WdQRX|j } ||| }xd|D]Z}tjj|j|}|rtjj|\}}|jdr|}d |}y|jj||Wntk rtjd d |}tjj|rLtj|tj|||jj||tjd ytj|Wntk rYnXYnXnp|jr|jd | rd||f}tjj|r|j rtjd|q|jj|||jr|jj|g|j |qWdS)NpytwZSOURCE_DATE_EPOCHz __main__.py)filename date_timez.pyz%s.exez:Failed to write executable - trying to use .deleteme logicz %s.deletemez0Able to replace executable using .deleteme logicrz%s.%szSkipping existing file %s)!r(r1 _get_launcherrrr+environr;timegmtimeintrwritestrgetvaluer<r>r'splitextrr0write_binary_file ExceptionrHrIexistsremoverenamedebugrr*r-set_executable_modeappend)r4namesro script_bytes filenamesext use_launcherlauncherstreamzfZsource_date_epochrzinfozip_dataroutnamenedfnamerrr _write_scripts\               zScriptMaker._write_script-cCsnt}d|jkr|j|d|jkr<|jd||jdfd|jkrj|jd||j|jd|jdf|S)NrXz%s%srzX.Yz %s%s%s.%sr)r.r/addr3variant_separator)r4rr^rrrget_script_filenames<s    $z ScriptMaker.get_script_filenamesc Csd}|r0|jdg}|r0ddj|}|jd}|jd||d}|j|jd}|j|j}|rr|jddrrd } nd } |j||||| dS) Nr`interpreter_argsz %srzutf-8)r?r8Fpywr)r;r>rirpryrrr) r4rxrr?rZargsroscript scriptnamesrrrr _make_scriptFs   zScriptMaker._make_scriptcCsd}tjj|jt|}tjj|jtjj|}|j rX|jj || rXt j d|dSyt |d}Wn t k r|js~d}YnFX|j}|st jd|dStj|jdd}|rd}|jdpd }|s|r|j|jj|||jr|jj|g|j|nt jd ||j|jjst|j\} } |jd |j| |} d |kr\d } nd} tjj|} |j| g| |j|| |r|jdS)NFznot copying %s (up-to-date)rbz%s is an empty file (skipping)s rVTrr`zcopying and adjusting %s -> %srspythonwrr) r+r<r>r&r r'rzr)r0newerrHrrDrGr5readlinerI FIRST_LINE_REmatchr=groupclose copy_filer-rrinforseekrprrE)r4rradjustrf first_linerrZrmlinesrorrrrr _copy_scriptVsN         zScriptMaker._copy_scriptcCs|jjS)N)r0r5)r4rrrr5szScriptMaker.dry_runcCs ||j_dS)N)r0r5)r4valuerrrr5srcCs\tjddkrd}nd}tdkr&dnd}d|||f}|tkrTd |tf}t|t|S) NPZ64Z32z win-arm64z-armrz %s%s%s.exez(Unable to find resource %s in package %s)structcalcsizer WRAPPERSDISTLIB_PACKAGErl)r4kindbitsZplatform_suffixrmsgrrrrs 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)r?)r rr)r4 specificationr?rrxrrrmakes 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)r4specificationsr?rrrrr make_multiples zScriptMaker.make_multiple)TFN)r`N)N)N)N)"__name__ __module__ __qualname____doc__SCRIPT_TEMPLATErtrr7rBr2rYrrKrQr_rpry_DEFAULT_MANIFESTr{r~rrrrrpropertyr5setterr+rr,rrrrrrrr#[s0    $ B7 2  r#))iorloggingr+rerr2rzipfilercompatrrr resourcesrutilr r r r r r getLoggerrrHstriprcompilerrrr,rsplitriteratorrr"_enquote_executableobjectr#rrrrs*