AlkantarClanX12
Current Path : /opt/alt/python39/lib64/python3.9/__pycache__/ |
Current File : //opt/alt/python39/lib64/python3.9/__pycache__/zipapp.cpython-39.pyc |
a R�fo � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZg d�ZdZej � d�rVdZne�� ZG dd� de �Ze jdd � �Zd d� Zddd �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 �+/opt/alt/python39/lib64/python3.9/zipapp.pyr ! s r c c sL t | ttjf�rBt| |��}|V W d � qH1 s60 Y 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��x}|�d�}|dkr*d}|�� t |d��0}t||� |�|� t�||� W d � n1 sj0 Y W d � n1 s�0 Y |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 Hr) 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�}|du �r| �d�}nt |d��s"t�|�}t |d���}t||� |�rDtjntj}tj|d|d��h}| �d�D ]4}|�| �}|du �s�||��rf|�||�� � �qf|�r�|�d|�d�� W d � n1 �s�0 Y W d � n1 �s�0 Y |�rt |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"