Your IP : 3.149.249.84
U
e5do � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZdddgZdZej �
d�rXdZne�� ZG dd� de
�Ze jd d
� �Zdd� Zdd
d�Zddd�Zdd� Zddd�Zedkr�e� dS )� N�ZipAppError�create_archive�get_interpreterz8# -*- coding: utf-8 -*-
import {module}
{module}.{fn}()
�win�utf-8c @ s e Zd ZdS )r N)�__name__�
__module__�__qualname__� r
r
�/usr/lib64/python3.8/zipapp.pyr ! s c c s8 t | ttjf�r.t| |��}|V W 5 Q R X n| V d S �N)�
isinstance�str�os�PathLike�open)�archive�mode�fr
r
r �_maybe_open% s r c C s$ |r d|� t� d }| �|� dS )zWrite a shebang line.� #!�
N)�encode�shebang_encoding�write)r �interpreterZshebangr
r
r �_write_file_prefix. s r c
C s� t | d��Z}|�d�}|dkr*d}|�� t |d��&}t||� |�|� t�||� W 5 Q R X W 5 Q R X |r�t|t�r�t �
|t �|�jtj
B � dS )z8Copy an application archive, modifying the shebang line.�rb� r � �wbN)r �read�readliner r �shutilZcopyfileobjr
r r �chmod�stat�st_mode�S_IEXEC)r Znew_archiver �srcZfirst_2Zdstr
r
r �
_copy_archive5 s
r) Fc
C s� 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��^}| �d�D ]4}|�| �}|dk�s�||��rf|�||�� � �qf|�r�|�d|�d�� W 5 Q R X W 5 Q R X |�r�t |d��s�|�|�� jtjB � dS )ab Create 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.
Fr! r"