ok

Mini Shell

Direktori : /proc/thread-self/root/opt/alt/python37/lib64/python3.7/__pycache__/
Upload File :
Current File : //proc/thread-self/root/opt/alt/python37/lib64/python3.7/__pycache__/zipapp.cpython-37.pyc

B

� fo�@s�ddlZddlZddlZddlZddlZddlZddlZdddgZdZej	�
d�rXdZne��ZGdd�de
�Zejd	d
��Zdd�Zdd
d�Zddd�Zdd�Zddd�Zedkr�e�dS)�N�ZipAppError�create_archive�get_interpreterz8# -*- coding: utf-8 -*-
import {module}
{module}.{fn}()
�winzutf-8c@seZdZdS)rN)�__name__�
__module__�__qualname__�r	r	�+/opt/alt/python37/lib64/python3.7/zipapp.pyr!sc	cs8t|ttjf�r.t||��}|VWdQRXn|VdS)N)�
isinstance�str�os�PathLike�open)�archive�mode�fr	r	r
�_maybe_open%srcCs$|r d|�t�d}|�|�dS)zWrite a shebang line.s#!�
N)�encode�shebang_encoding�write)r�interpreterZshebangr	r	r
�_write_file_prefix.src
Cs�t|d��Z}|�d�}|dkr*d}|��t|d��&}t||�|�|�t�||�WdQRXWdQRX|r�t|t�r�t	�
|t	�|�jtj
B�dS)z8Copy an application archive, modifying the shebang line.�rb�s#!��wbN)r�read�readlinerr�shutilZcopyfileobjrrr
�chmod�stat�st_mode�S_IEXEC)rZnew_archiver�srcZfirst_2�dstr	r	r
�
_copy_archive5s


 r'Fc
Cs�d}t|d�rt|d�rd}nt�|�}|��r4d}|rHt|||�dS|��sXtd��|d��}|rt|rttd��|s�|s�td	��d}|r�|�d
�\}	}
}tdd�|	�	d
�D��}tdd�|�	d
�D��}
|
d
kr�|r�|
s�td|��t
j|	|d�}|dk�r|�d�}nt|d��s"t�|�}t
|d���}t||�|�rDtjntj}tj|d|d��b}xB|�d�D]4}|�|�}|dk�s�||��rh|�||����qhW|�r�|�d|�d��WdQRXWdQRX|�r�t|d��s�|�|��jtjB�dS)abCreate an application archive from SOURCE.

    The SOURCE can be the name of a directory, or a filename or a file-like
    object referring to an existing archive.

    The content of SOURCE is packed into an application archive in TARGET,
    which can be a filename or a file-like object.  If SOURCE is a directory,
    TARGET can be omitted and will default to the name of SOURCE with .pyz
    appended.

    The created application archive will have a shebang line specifying
    that it should run with INTERPRETER (there will be no shebang line if
    INTERPRETER is None), and a __main__.py which runs MAIN (if MAIN is
    not specified, an existing __main__.py will be used).  It is an error
    to specify MAIN for anything other than a directory source with no
    __main__.py, and it is an error to omit MAIN if the directory has no
    __main__.py.
    FrrTNzSource does not existz__main__.pyz8Cannot specify entry point if the source has __main__.pyzArchive has no entry point�:css|]}|��VqdS)N)�isidentifier)�.0�partr	r	r
�	<genexpr>{sz!create_archive.<locals>.<genexpr>�.css|]}|��VqdS)N)r))r*r+r	r	r
r,|szInvalid entry point: )�module�fnz.pyzrr�w)�compression�*zutf-8)�hasattr�pathlibZPath�is_filer'�existsr�	partition�all�split�
MAIN_TEMPLATE�formatZwith_suffixrr�zipfileZZIP_DEFLATEDZ
ZIP_STOREDZZipFileZrglobZrelative_torZas_posixZwritestrrr!r"r#r$)�source�targetr�main�filter�
compressedZsource_is_fileZhas_mainZmain_py�mod�sepr/Zmod_okZfn_ok�fdr1�zZchildZarcnamer	r	r
rLsT




&c	Cs:t|d��&}|�d�dkr,|�����t�SWdQRXdS)Nrrs#!)rrr�strip�decoder)rrr	r	r
r�scCs<ddl}|��}|jddddd�|jdddd	d�|jd
dddd�|jd
dddd�|jddddd�|jddd�|�|�}|jr�tj�|j�s�t	d��t
|j�}td�|p�d��t
�d�tj�|j��r|jdk�stj�|j��rtj�|j|j��rt	d��|j�rt	d��t|j|j|j|j|jd�dS)z�Run the zipapp command line interface.

    The ARGS parameter lets you specify the argument list directly.
    Omitting ARGS (or setting it to None) works as for argparse, using
    sys.argv[1:] as the argument list.
    rNz--outputz-ozAThe name of the output archive. Required if SOURCE is an archive.)�default�helpz--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
--compressz-c�
store_truezQCompress files with the deflate method. Files are stored uncompressed by default.)�actionrIz--infoFz)Display the interpreter from the archive.)rHrKrIr=z'Source directory (or existing archive).)rIz%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 copying)rr?rA)�argparse�ArgumentParser�add_argument�
parse_args�infor
�path�isfiler=�
SystemExitr�printr;�sys�exit�outputr6�samefiler?r�python�compress)�argsrL�parserrr	r	r
r?�s<








r?�__main__)N)NNNNF)N)�
contextlibr
r4r r"rUr<�__all__r:�platform�
startswithr�getfilesystemencoding�
ValueErrorr�contextmanagerrrr'rrr?rr	r	r	r
�<module>s*
	

I
1

Zerion Mini Shell 1.0