
(°h  ã               @   sR   d  Z  d d l Z d d l m Z d d l m Z m Z Gd d „  d e ƒ Z d S)z€distutils.command.install_data

Implements the Distutils 'install_data' command, for installing
platform-independent data files.é    N)ÚCommand)Úchange_rootÚconvert_pathc               @   sj   e  Z d  Z d Z d d d g Z d g Z d d „  Z d d „  Z d d „  Z d d „  Z	 d d „  Z
 d S)Úinstall_datazinstall data filesúinstall-dir=ÚdúIbase directory for installing data files (default: installation base dir)úroot=Nú<install everything relative to this alternate root directoryÚforceÚfú-force installation (overwrite existing files)c             C   s@   d  |  _  g  |  _ d  |  _ d |  _ |  j j |  _ d |  _ d  S)Nr   é   )Úinstall_dirÚoutfilesÚrootr   ÚdistributionÚ
data_filesÚwarn_dir)Úself© r   úP/tmp/pip-build-kmztzv_d/setuptools/setuptools/_distutils/command/install_data.pyÚinitialize_options   s    				zinstall_data.initialize_optionsc             C   s   |  j  d d d d ƒ d  S)	NÚinstallr   r   r   r   )zinstall_datazinstall_dir)úrootr   )úforcer   )Úset_undefined_options)r   r   r   r   Úfinalize_options#   s    	zinstall_data.finalize_optionsc             C   se  |  j  |  j ƒ xN|  j D]C} t | t ƒ rŒ t | ƒ } |  j r^ |  j d | |  j f ƒ |  j | |  j ƒ \ } } |  j	 j
 | ƒ q t | d ƒ } t j j | ƒ sÉ t j j |  j | ƒ } n |  j rä t |  j | ƒ } |  j  | ƒ | d g  k r|  j	 j
 | ƒ q xF | d D]: } t | ƒ } |  j | | ƒ \ } } |  j	 j
 | ƒ qWq Wd  S)NzMsetup script did not provide a directory for '%s' -- installing right in '%s'r   r   )Úmkpathr   r   Ú
isinstanceÚstrr   r   ÚwarnÚ	copy_filer   ÚappendÚosÚpathÚisabsÚjoinr   r   )r   r   ÚoutÚ_ÚdirÚdatar   r   r   Úrun*   s*    			zinstall_data.runc             C   s   |  j  p g  S)N)r   )r   r   r   r   Ú
get_inputsK   s    zinstall_data.get_inputsc             C   s   |  j  S)N)r   )r   r   r   r   Úget_outputsN   s    zinstall_data.get_outputs)r   r   r   )r	   Nr
   )zforcer   r   )Ú__name__Ú
__module__Ú__qualname__ÚdescriptionÚuser_optionsÚboolean_optionsr   r   r,   r-   r.   r   r   r   r   r      s     		!r   )Ú__doc__r$   Údistutils.corer   Údistutils.utilr   r   r   r   r   r   r   Ú<module>   s   