D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
python35
/
lib
/
python3.5
/
__pycache__
/
Filename :
zipapp.cpython-35.opt-1.pyc
back
Copy
m��Y� � @ 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/python35/lib/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)zWrite a shebang line.s #!s N)�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)z8Copy an application archive, modifying the shebang line.�rb� s #!� �wbN)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)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 TNzSource 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"