3
ª·]  ã               @   s<   d Z ddlZddlmZ ddlmZmZ G d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               @   sH   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   ZdistributionÚ
data_filesÚwarn_dir)Úself© r   ú4/usr/lib/python3.6/distutils/command/install_data.pyÚinitialize_options   s    
zinstall_data.initialize_optionsc             C   s   | j ddddƒ d S )	NZinstallr   r   r   r   )r   r   )r   r   )r   r   )Zset_undefined_options)r   r   r   r   Úfinalize_options#   s    zinstall_data.finalize_optionsc             C   s  | j | jƒ xð| jD ]æ}t|tƒrdt|ƒ}| jrD| 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x4|d D ](}t|ƒ}| j||ƒ\}}| j	j
|ƒ qÎW qW d S )NzMsetup script did not provide a directory for '%s' -- installing right in '%s'r   r   )Zmkpathr   r   Ú
isinstanceÚstrr   r   ÚwarnZ	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
   )r   r   r   )Ú__name__Ú
__module__Ú__qualname__ZdescriptionZuser_optionsZboolean_optionsr   r   r%   r&   r'   r   r   r   r   r      s     !r   )Ú__doc__r   Zdistutils.corer   Zdistutils.utilr   r   r   r   r   r   r   Ú<module>   s   