B
    @)H[z	  ã               @   sF   d Z ddlZddlZddlZddlZddlmZ dd„ Zd	dd„ZdS )
z
Archive tools for wheel.
é    N)Úlogc          	   C   s>   t j t j¡}t j | ¡} zt  |¡ t| ƒS t  |¡ X dS )zWArchive all files under `base_dir` in a whl file and name it like
    `base_name`.
    N)ÚosÚpathÚabspathÚcurdirÚchdirÚmake_wheelfile_inner)Ú	base_nameÚbase_dirZolddir© r   úPC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-qz7kpjmn\wheel\wheel\archive.pyÚarchive_wheelfile   s    
r   Ú.c          	      s.  | d }t  d||¡ tj d¡}|dkr0d}nt t|ƒ¡dd… }ddd	d
œ}‡ fdd„}tj	|dtj
dd��²‰ g }x€t |¡D ]r\}}	}
|	 ¡  x^t|
ƒD ]R}tj tj ||¡¡}tj |¡r | d¡rè| | |d¡|f¡ q |||ƒ q W q„W | ¡  x|D ]\}}|||ƒ �qW W dQ R X |S )zhCreate a whl file from all the files under 'base_dir'.

    Places .dist-info at the end of the archive.z.whlz#creating '%s' and adding '%s' to itÚSOURCE_DATE_EPOCHNr   é   é   é   é   )ÚWHEELÚMETADATAÚRECORDc          	      s‚   t  | ¡}|d kr*t |j¡}|dd… }t | |¡}|jd> |_tj	|_
t| dƒ�}ˆ  || ¡ ¡ W d Q R X t d|  ¡ d S )Nr   r   é   Úrbzadding '%s')r   ÚstatÚtimeÚgmtimeÚst_mtimeÚzipfileÚZipInfoÚst_modeÚexternal_attrÚZIP_DEFLATEDÚcompress_typeÚopenÚwritestrÚreadr   Úinfo)r   Ú	date_timeÚstÚmtimeÚzinfoÚfp)Úzipr   r   Ú	writefile-   s    
z'make_wheelfile_inner.<locals>.writefileÚwT)ÚcompressionÚ
allowZip64z
.dist-info)r   r&   r   ÚenvironÚgetr   r   Úintr   ÚZipFiler!   ÚwalkÚsortÚsortedr   ÚnormpathÚjoinÚisfileÚendswithÚappend)r	   r
   Úzip_filenameÚ	timestampr'   Zscorer-   ÚdeferredÚdirpathÚdirnamesÚ	filenamesÚnamer   r   )r,   r   r      s.    

r   )r   )	Ú__doc__r   Úos.pathr   r   Ú	distutilsr   r   r   r   r   r   r   Ú<module>   s   