509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \¹J  ã               @   sn   d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ G dd„ dƒZG dd„ deƒZdS )	é    N)ÚDistutilsOptionError)ÚutilÚdir_utilÚ	file_utilÚarchive_utilÚdep_util)Úlogc               @   s  e Zd Zg Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdBdd„Z	dd„ Z
dCdd„Zdd„ ZdDdd„ZdEdd„Zdd„ ZdFdd„Zdd„ Zd d!„ Zd"d#„ Zd$d%„ ZdGd&d'„ZdHd)d*„Zd+d,„ Zd-d.„ Zd/d0„ ZdId1d2„ZdJd4d5„ZdKd6d7„ZdLd8d9„ZdMd:d;„ZdNd<d=„ZdOd>d?„Z dPd@dA„Z!dS )QÚCommandc             C   sb   ddl m} t||ƒstdƒ‚| jtkr0tdƒ‚|| _| jƒ  d | _	|j
| _
d | _d| _d| _d S )Nr   )ÚDistributionz$dist must be a Distribution instancezCommand is an abstract class)Zdistutils.distr
   Ú
isinstanceÚ	TypeErrorÚ	__class__r	   ÚRuntimeErrorÚdistributionÚinitialize_optionsZ_dry_runÚverboseÚforceÚhelpÚ	finalized)ÚselfZdistr
   © r   ú%/usr/lib64/python3.6/distutils/cmd.pyÚ__init__/   s    


zCommand.__init__c             C   s<   |dkr0t | d| ƒ}|d kr*t | j|ƒS |S nt|ƒ‚d S )NÚdry_runÚ_)Úgetattrr   ÚAttributeError)r   ÚattrZmyvalr   r   r   Ú__getattr___   s    zCommand.__getattr__c             C   s   | j s| jƒ  d| _ d S )Né   )r   Úfinalize_options)r   r   r   r   Úensure_finalizedi   s    zCommand.ensure_finalizedc             C   s   t d| j ƒ‚d S )Nz,abstract method -- subclass %s must override)r   r   )r   r   r   r   r   {   s    
zCommand.initialize_optionsc             C   s   t d| j ƒ‚d S )Nz,abstract method -- subclass %s must override)r   r   )r   r   r   r   r    ˆ   s    zCommand.finalize_optionsNÚ c             C   sž   ddl m} |d kr d| jƒ  }| j|| tjd� |d }x\| jD ]R\}}}|j|ƒ}|d	 dkrp|d d
… }t| |ƒ}| j|d||f  tjd� qDW d S )Nr   )Úlongopt_xlatezcommand options for '%s':)Úlevelz  r   ú=z%s = %séÿÿÿÿr&   )	Zdistutils.fancy_getoptr#   Úget_command_nameÚannouncer   ÚINFOÚuser_optionsÚ	translater   )r   ÚheaderÚindentr#   Úoptionr   Úvaluer   r   r   Údump_options—   s    

zCommand.dump_optionsc             C   s   t d| j ƒ‚d S )Nz,abstract method -- subclass %s must override)r   r   )r   r   r   r   Úrun¥   s    
zCommand.runr   c             C   s   t j ||ƒ d S )N)r   )r   Úmsgr$   r   r   r   r(   ²   s    zCommand.announcec             C   s&   ddl m} |r"t|ƒ tjjƒ  d S )Nr   )ÚDEBUG)Zdistutils.debugr3   ÚprintÚsysÚstdoutÚflush)r   r2   r3   r   r   r   Údebug_print¸   s    zCommand.debug_printc             C   sB   t | |ƒ}|d kr"t| ||ƒ |S t|tƒs>td|||f ƒ‚|S )Nz'%s' must be a %s (got `%s`))r   Úsetattrr   Ústrr   )r   r.   ÚwhatÚdefaultÚvalr   r   r   Ú_ensure_stringlikeÏ   s    

zCommand._ensure_stringlikec             C   s   | j |d|ƒ d S )NÚstring)r>   )r   r.   r<   r   r   r   Úensure_stringÙ   s    zCommand.ensure_stringc             C   sp   t | |ƒ}|d krd S t|tƒr6t| |tjd|ƒƒ n6t|tƒrTtdd„ |D ƒƒ}nd}|sltd||f ƒ‚d S )Nz,\s*|\s+c             s   s   | ]}t |tƒV  qd S )N)r   r:   )Ú.0Úvr   r   r   ú	<genexpr>ì   s    z-Command.ensure_string_list.<locals>.<genexpr>Fz''%s' must be a list of strings (got %r))	r   r   r:   r9   ÚreÚsplitÚlistÚallr   )r   r.   r=   Úokr   r   r   Úensure_string_listß   s    


zCommand.ensure_string_listc             C   s8   | j |||ƒ}|d k	r4||ƒ r4td| ||f ƒ‚d S )Nzerror in '%s' option: )r>   r   )r   r.   Ztesterr;   Z	error_fmtr<   r=   r   r   r   Ú_ensure_tested_stringô   s    zCommand._ensure_tested_stringc             C   s   | j |tjjddƒ d S )NÚfilenamez$'%s' does not exist or is not a file)rJ   ÚosÚpathÚisfile)r   r.   r   r   r   Úensure_filenameû   s    zCommand.ensure_filenamec             C   s   | j |tjjddƒ d S )Nzdirectory namez)'%s' does not exist or is not a directory)rJ   rL   rM   Úisdir)r   r.   r   r   r   Úensure_dirname  s    zCommand.ensure_dirnamec             C   s   t | dƒr| jS | jjS d S )NÚcommand_name)ÚhasattrrR   r   Ú__name__)r   r   r   r   r'   	  s    
zCommand.get_command_namec             G   sJ   | j j|ƒ}|jƒ  x0|D ](\}}t| |ƒd krt| |t||ƒƒ qW d S )N)r   Úget_command_objr!   r   r9   )r   Zsrc_cmdZoption_pairsZsrc_cmd_objZ
src_optionZ
dst_optionr   r   r   Úset_undefined_options  s
    zCommand.set_undefined_optionsc             C   s   | j j||ƒ}|jƒ  |S )N)r   rU   r!   )r   ÚcommandZcreateZcmd_objr   r   r   Úget_finalized_command$  s    zCommand.get_finalized_commandr   c             C   s   | j j||ƒS )N)r   Úreinitialize_command)r   rW   Zreinit_subcommandsr   r   r   rY   0  s    zCommand.reinitialize_commandc             C   s   | j j|ƒ d S )N)r   Úrun_command)r   rW   r   r   r   rZ   4  s    zCommand.run_commandc             C   s6   g }x,| j D ]"\}}|d ks$|| ƒr|j|ƒ qW |S )N)Úsub_commandsÚappend)r   ZcommandsZcmd_nameÚmethodr   r   r   Úget_sub_commands;  s
    zCommand.get_sub_commandsc             C   s   t jd| jƒ |ƒ d S )Nzwarning: %s: %s
)r   Úwarnr'   )r   r2   r   r   r   r_   K  s    zCommand.warnc             C   s   t j|||| jd� d S )N)r   )r   Úexecuter   )r   ÚfuncÚargsr2   r$   r   r   r   r`   N  s    zCommand.executeéÿ  c             C   s   t j||| jd� d S )N)r   )r   Úmkpathr   )r   ÚnameÚmoder   r   r   rd   Q  s    zCommand.mkpathc          	   C   s   t j||||| j || jd�S )N)r   )r   Ú	copy_filer   r   )r   ÚinfileÚoutfileÚpreserve_modeÚpreserve_timesÚlinkr$   r   r   r   rg   T  s    

zCommand.copy_filec          	   C   s   t j|||||| j | jd�S )N)r   )r   Ú	copy_treer   r   )r   rh   ri   rj   rk   Zpreserve_symlinksr$   r   r   r   rm   ]  s    
zCommand.copy_treec             C   s   t j||| jd�S )N)r   )r   Ú	move_filer   )r   ÚsrcÚdstr$   r   r   r   rn   f  s    zCommand.move_filec             C   s    ddl m} |||| jd� d S )Nr   )Úspawn)r   )Zdistutils.spawnrq   r   )r   ÚcmdZsearch_pathr$   rq   r   r   r   rq   j  s    zCommand.spawnc          	   C   s   t j||||| j||d�S )N)r   ÚownerÚgroup)r   Úmake_archiver   )r   Z	base_nameÚformatZroot_dirZbase_dirrs   rt   r   r   r   ru   o  s    zCommand.make_archivec             C   s„   |d krd| }t |tƒr"|f}nt |ttfƒs8tdƒ‚|d krRd|dj|ƒf }| jsdtj||ƒrv| j	||||ƒ n
t
j|ƒ d S )Nzskipping %s (inputs unchanged)z9'infiles' must be a string, or a list or tuple of stringszgenerating %s from %sz, )r   r:   rF   Útupler   Újoinr   r   Znewer_groupr`   r   Údebug)r   Zinfilesri   ra   rb   Zexec_msgZskip_msgr$   r   r   r   Ú	make_fileu  s    

zCommand.make_file)Nr"   )r   )N)N)N)r   )r   )Nr   )rc   )r   r   Nr   )r   r   r   r   )r   )r   r   )NNNN)NNr   )"rT   Ú
__module__Ú__qualname__r[   r   r   r!   r   r    r0   r1   r(   r8   r>   r@   rI   rJ   rO   rQ   r'   rV   rX   rY   rZ   r^   r_   r`   rd   rg   rm   rn   rq   ru   rz   r   r   r   r   r	      sD   0










 
 


 
r	   c               @   s2   e Zd ZdgZdd„ Zdd„ Zdd	„ Zd
d„ ZdS )Úinstall_miscúinstall-dir=Údú!directory to install the files toc             C   s   d | _ g | _d S )N)Úinstall_dirÚoutfiles)r   r   r   r   r   ¡  s    zinstall_misc.initialize_optionsc             C   s   | j d|dfƒ d S )NZinstallr�   )rV   )r   Údirnamer   r   r   Ú_install_dir_from¥  s    zinstall_misc._install_dir_fromc             C   sR   g | _ |sd S | j| jƒ x2|D ]*}| j|| jƒ | j jtjj| j|ƒƒ q W d S )N)r‚   rd   r�   rg   r\   rL   rM   rx   )r   ZfilelistÚfr   r   r   Ú_copy_files¨  s    
zinstall_misc._copy_filesc             C   s   | j S )N)r‚   )r   r   r   r   Úget_outputs±  s    zinstall_misc.get_outputsN)r~   r   r€   )rT   r{   r|   r*   r   r„   r†   r‡   r   r   r   r   r}   š  s
   	r}   )r5   rL   rD   Zdistutils.errorsr   Z	distutilsr   r   r   r   r   r   r	   r}   r   r   r   r   Ú<module>   s      