3
e{                 @   sd   d dl mZmZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
Z
G dd dejeZdS )    )logdir_utilN)Command)
namespaces)unpack_archivec               @   sB   e Zd ZdZdZdgZdd Zdd Zd	d
 Zdd Z	dd Z
dS )install_egg_infoz.Install an .egg-info directory for the packageinstall-dir=ddirectory to install toc             C   s   d | _ d | _d | _d S )N)install_dirinstall_layoutprefix_option)self r   I/tmp/pip-build-argcdawy/setuptools/setuptools/command/install_egg_info.pyinitialize_options   s    z#install_egg_info.initialize_optionsc             C   s   | j dd | j dd tjdkr.| j dd | jd}tjd d |j|jj d }| jr| jj	 dkrpt
d
| jj	 | _|jdtj d}n$| jsdtjkrn|jdtj d}|j| _tjj| j|| _g | _d S )Ninstall_libr   installr   i  r   egg_infoz	.egg-infodebz"unknown value for --install-layoutz-py%s real_prefix)r   r   )r   r   )r   r   )r   )set_undefined_optionssys
hexversionget_finalized_commandpkg_resourcesDistributionegg_nameZegg_versionr   lowerDistutilsOptionErrorreplacePY_MAJORr   __dict__r   sourceospathjoinr   targetoutputs)r   Zei_cmdbasenamer   r   r   finalize_options   s(    

z!install_egg_info.finalize_optionsc             C   s   | j d tjj| jr<tjj| j r<tj| j| jd n(tjj	| jrd| j
tj| jfd| j  | jsvtj| j | j
| jf d| j| jf  | j  d S )Nr   )dry_runz	Removing zCopying %s to %s)run_commandr%   r&   isdirr(   islinkr   remove_treer,   existsexecuteunlinkr   ensure_directorycopytreer$   Zinstall_namespaces)r   r   r   r   run2   s    
zinstall_egg_info.runc             C   s   | j S )N)r)   )r   r   r   r   get_outputs?   s    zinstall_egg_info.get_outputsc                s     fdd}t  j j| d S )Nc                sn   x&dD ]}| j |s d| | krd S qW  jrP jd	krP| j drPtjd d S  jj| tjd| | |S )
N.svn/CVS//r   zSOURCES.txtzSkipping SOURCES.txtzCopying %s to %s)r8   r9   )r   )
startswithr   r   infor)   appenddebug)srcdstskip)r   r   r   skimmerD   s    

z*install_egg_info.copytree.<locals>.skimmer)r   r$   r(   )r   rB   r   )r   r   r5   B   s    zinstall_egg_info.copytreeN)r   r	   r
   )__name__
__module____qualname____doc__descriptionuser_optionsr   r+   r6   r7   r5   r   r   r   r   r   
   s   r   )	distutilsr   r   r%   r   
setuptoolsr   r   Zsetuptools.archive_utilr   r   Z	Installerr   r   r   r   r   <module>   s   