%PDF- %PDF-
Direktori : /snap/core20/2379/lib/python3.8/__pycache__/ |
Current File : //snap/core20/2379/lib/python3.8/__pycache__/zipapp.cpython-38.pyc |
U k�]eo � @ 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/lib/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"