관리-도구
편집 파일: zipapp.cpython-35.opt-2.pyc
���]� � @ s d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d d g Z d Z e j j d � r� d Z n e j � Z Gd d � d e � Z e j d d � � Z d d � Z d d d � Z d d d d d � Z d d � Z d d d � Z e d k re � d S)� N�ZipAppError�create_archive�get_interpreterz8# -*- coding: utf-8 -*- import {module} {module}.{fn}() �winzutf-8c @ s e Z d Z d S)r N)�__name__� __module__�__qualname__� r r �+/opt/alt/python35/lib64/python3.5/zipapp.pyr ! s c c sW t | t j � r t | � } t | t � rN t | | � � } | VWd QRXn | Vd S)N)� isinstance�pathlib�Path�str�open)�archive�mode�fr r r �_maybe_open% s r c C s. | r* d | j t � d } | j | � d S)Ns #!s )�encode�shebang_encoding�write)r �interpreterZshebangr r r �_write_file_prefix0 s r c C s� t | d � �u } | j d � } | d k r= d } | j � t | d � �1 } t | | � | j | � t j | | � Wd QRXWd QRX| r� t | t � r� t j | t j | � j t j B� d S)N�rb� s #!� �wb)r �read�readliner r �shutil�copyfileobjr r �os�chmod�stat�st_mode�S_IEXEC)r Znew_archiver �srcZfirst_2�dstr r r � _copy_archive7 s r( c C s� d } t | d � r- t | d � r- d } n! t j | � } | j � rN d } | rh t | | | � d S| j � s� t d � � | d j � } | r� | r� t d � � | p� | s� t d � � d } | rh| j d � \ } } } t d d � | j d � D� � } t d d � | j d � D� � } | d k o=| o=| sPt d | � � t j d | d | � } | d k r�| j d � } n t | d � s�t j | � } t | d � �� } t | | � t j | d � �z } t j | � } xB | j d � D]1 } t | j | � � } | j t | � | � q�W| rK| j d | j d � � Wd QRXWd QRX| r�t | d � r�| j | j � j t j B� d S)NFr r TzSource does not existz__main__.pyz8Cannot specify entry point if the source has __main__.pyzArchive has no entry point�:c s s | ] } | j � Vq d S)N)�isidentifier)�.0�partr r r � <genexpr>| s z!create_archive.<locals>.<genexpr>�.c s s | ] } | j � Vq d S)N)r* )r+ r, r r r r- } s zInvalid entry point: �module�fnz.pyzr r �w�*zutf-8)�hasattrr r �is_filer( �existsr � partition�all�split� MAIN_TEMPLATE�formatZwith_suffixr r �zipfile�ZipFileZrglobr Zrelative_tor Zwritestrr r"