MINI MINI MANI MO
3
  \                 @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZdddgZdZej	j
drXdZnej ZG dd de
Ze jd	d
 Zdd Zdd
dZdddZdd ZdddZedkre  dS )    NZipAppErrorcreate_archiveget_interpreterz8# -*- coding: utf-8 -*-
import {module}
{module}.{fn}()
winzutf-8c               @   s   e Zd ZdS )r   N)__name__
__module____qualname__ r	   r	   /usr/lib64/python3.6/zipapp.pyr   !   s   c          	   c   sF   t | tjrt| } t | tr<t| |}|V  W d Q R X n| V  d S )N)
isinstancepathlibPathstropen)archivemodefr	   r	   r
   _maybe_open%   s    
r   c             C   s$   |r d|j t d }| j| d S )Ns   #!   
)encodeshebang_encodingwrite)r   interpreterZshebangr	   r	   r
   _write_file_prefix0   s    r   c             C   s   t | dZ}|jd}|dkr*d}|j  t |d&}t|| |j| tj|| W d Q R X W d Q R X |rt|trt	j
|t	j|jtj
B  d S )Nrb   s   #!    wb)r   readreadliner   r   shutilZcopyfileobjr   r   oschmodstatst_modeS_IEXEC)r   Znew_archiver   srcZfirst_2dstr	   r	   r
   
_copy_archive7   s    
 r(   c             C   s  d}t | drt | drd}ntj| } | j r4d}|rHt| || d S | j sXtd| d j }|rt|rttd|pz|stdd }|r|jd	\}}}	td
d |j	dD }
td
d |	j	dD }|d	ko|
o|std| t
j||	d}|d kr| jd}nt |ds"tj|}t
|d~}t|| tj|d\}
tj| }x2|jdD ]$}t|j|}|
jt|| q\W |r|
jd|jd W d Q R X W d Q R X |rt |d r|j|j jtjB  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  V  qd S )N)isidentifier).0partr	   r	   r
   	<genexpr>|   s    z!create_archive.<locals>.<genexpr>.c             s   s   | ]}|j  V  qd S )N)r*   )r+   r,   r	   r	   r
   r-   }   s    zInvalid entry point: )modulefnz.pyzr   r   w*zutf-8)hasattrr   r
   is_filer(   existsr   	partitionallsplit
MAIN_TEMPLATEformatZwith_suffixr   r   zipfileZZipFileZrglobr   Zrelative_tor   Zwritestrr   r"