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



]@sddlZddlZddlZddlZddlZddlZddlZdddgZdZej	j
drdZnejZGddde
Zejd	d
ZddZdd
dZdddddZddZdddZedkredS)NZipAppErrorcreate_archiveget_interpreterz8# -*- coding: utf-8 -*-
import {module}
{module}.{fn}()
winzutf-8c@seZdZdS)rN)__name__
__module____qualname__r	r	+/opt/alt/python35/lib64/python3.5/zipapp.pyr!sc	csWt|tjrt|}t|trNt||}|VWdQRXn|VdS)N)
isinstancepathlibPathstropen)archivemodefr	r	r
_maybe_open%srcCs.|r*d|jtd}|j|dS)Ns#!s
)encodeshebang_encodingwrite)rinterpreterZshebangr	r	r
_write_file_prefix0srcCst|du}|jd}|dkr=d}|jt|d1}t|||j|tj||WdQRXWdQRX|rt|trt	j
|t	j|jtj
BdS)Nrbs#!wb)rreadreadlinerrshutilcopyfileobjrroschmodstatst_modeS_IEXEC)rZnew_archiversrcZfirst_2dstr	r	r

_copy_archive7s


r(cCsd}t|dr-t|dr-d}n!tj|}|jrNd}|rht|||dS|jstd|dj}|r|rtd|p|stdd}|rh|jd	\}}}	td
d|j	dD}
td
d|	j	dD}|d	ko=|
o=|sPtd|t
jd|d|	}|dkr|jd}nt|dstj|}t
|d}t||tj|dz}
tj|}xB|jdD]1}t|j|}|
jt||qW|rK|
jd|jdWdQRXWdQRX|rt|dr|j|jjtjBdS)NFrrTzSource does not existz__main__.pyz8Cannot specify entry point if the source has __main__.pyzArchive has no entry point:css|]}|jVqdS)N)isidentifier).0partr	r	r
	<genexpr>|sz!create_archive.<locals>.<genexpr>.css|]}|jVqdS)N)r*)r+r,r	r	r
r-}szInvalid entry point: modulefnz.pyzrrw*zutf-8)hasattrrr
is_filer(existsr	partitionallsplit
MAIN_TEMPLATEformatZwith_suffixrrzipfileZipFileZrglobrZrelative_torZwritestrrr"r#r$r%)sourcetargetrmainZsource_is_fileZhas_mainZmain_pymodsepr0Zmod_okZfn_okfdzrootZchildZarcnamer	r	r
rNsP		""
'c	CsKt|d5}|jddkr@|jjjtSWdQRXdS)Nrrs#!)rrrstripdecoder)rrr	r	r
rscCsddl}|j}|jdddddd|jdddddd	|jd
ddddd|jd
dddddd|jddd|j|}|jrtjj|jst	dt
|j}tdj|pdt
jdtjj|jr|jdks`tjj|jrltjj|j|jrlt	d|jrt	dt|j|jd|jd|jdS)Nrz--outputz-odefaulthelpzAThe name of the output archive. Required if SOURCE is an archive.z--pythonz-pzEThe name of the Python interpreter to use (default: no shebang line).z--mainz-mzLThe main function of the application (default: use an existing __main__.py).z--infoFaction
store_truez)Display the interpreter from the archive.r=z'Source directory (or existing archive).z%Can only get info for an archive filezInterpreter: {}z<none>z-In-place editing of archives is not supportedz,Cannot change the main function when copyingrr?)argparseArgumentParseradd_argument
parse_argsinfor!pathisfiler=
SystemExitrprintr:sysexitoutputr5samefiler?rpython)argsrKparserrr	r	r
r?s6	
$	r?__main__)
contextlibr!rrr#rTr;__all__r9platform
startswithrgetfilesystemencoding
ValueErrorrcontextmanagerrrr(rrr?rr	r	r	r
<module>s(	G-
Back to Directory File Manager