
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aŸF  ã                   @   s^   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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ƒ‚|| _|  ¡  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   ú2/opt/alt/python38/lib64/python3.8/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|  ¡  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 r$   r%   r"   r   r   r   r!   ˆ   s    ÿzCommand.finalize_optionsNÚ c                 C   sš   ddl m} |d kr d|  ¡  }| j|| tjd� |d }| jD ]R\}}}| |¡}|d dkrn|d d… }t| |ƒ}| j|d||f  tjd� qBd S )	Nr   )Úlongopt_xlatezcommand options for '%s':)Úlevelz  éÿÿÿÿú=z%s = %s)	Zdistutils.fancy_getoptr'   Úget_command_nameÚannouncer	   ÚINFOZuser_optionsÚ	translater   )r   ÚheaderÚindentr'   Úoptionr   Úvaluer   r   r   Údump_options—   s    

ÿzCommand.dump_optionsc                 C   s   t d| j ƒ‚d S r$   r%   r"   r   r   r   Úrun¥   s    
ÿzCommand.runr    c                 C   s   t   ||¡ d S ©Nr   )r   Úmsgr(   r   r   r   r,   ²   s    zCommand.announcec                 C   s&   ddl m} |r"t|ƒ tj ¡  d S )Nr   )ÚDEBUG)Zdistutils.debugr7   ÚprintÚsysÚstdoutÚflush)r   r6   r7   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   r1   ÚwhatÚdefaultÚvalr   r   r   Ú_ensure_stringlikeÏ   s    

ÿzCommand._ensure_stringlikec                 C   s   |   |d|¡ d S )NÚstring)rB   )r   r1   r@   r   r   r   Úensure_stringÙ   s    zCommand.ensure_stringc                 C   sp   t | |ƒ}|d krd S t|tƒr6t| |t 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 r5   )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>   r=   ÚreÚsplitÚlistÚallr   )r   r1   rA   Úokr   r   r   Úensure_string_listß   s    


ÿÿzCommand.ensure_string_listc                 C   s6   |   |||¡}|d k	r2||ƒs2td| ||f ƒ‚d S )Nzerror in '%s' option: )rB   r   )r   r1   Ztesterr?   Z	error_fmtr@   rA   r   r   r   Ú_ensure_tested_stringô   s
    ÿzCommand._ensure_tested_stringc                 C   s   |   |tjjdd¡ d S )NÚfilenamez$'%s' does not exist or is not a file)rN   ÚosÚpathÚisfile©r   r1   r   r   r   Úensure_filenameû   s    þzCommand.ensure_filenamec                 C   s   |   |tjjdd¡ d S )Nzdirectory namez)'%s' does not exist or is not a directory)rN   rP   rQ   ÚisdirrS   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)ÚhasattrrW   r   Ú__name__r"   r   r   r   r+   	  s    
zCommand.get_command_namec                 G   sF   | j  |¡}| ¡  |D ](\}}t| |ƒd krt| |t||ƒƒ qd S r5   )r   Úget_command_objr#   r   r=   )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  ||¡}| ¡  |S r5   )r   rZ   r#   )r   ÚcommandZcreateZcmd_objr   r   r   Úget_finalized_command$  s    zCommand.get_finalized_commandr   c                 C   s   | j  ||¡S r5   )r   Úreinitialize_command)r   r\   Zreinit_subcommandsr   r   r   r^   0  s    ÿzCommand.reinitialize_commandc                 C   s   | j  |¡ d S r5   )r   Úrun_command)r   r\   r   r   r   r_   4  s    zCommand.run_commandc                 C   s2   g }| j D ]"\}}|d ks"|| ƒr
| |¡ q
|S r5   )Úsub_commandsÚappend)r   ZcommandsZcmd_nameÚmethodr   r   r   Úget_sub_commands;  s
    zCommand.get_sub_commandsc                 C   s   t  d|  ¡ |¡ d S )Nzwarning: %s: %s
)r	   Úwarnr+   )r   r6   r   r   r   rd   K  s    zCommand.warnc                 C   s   t j|||| jd� d S ©N©r   )r   Úexecuter   )r   ÚfuncÚargsr6   r(   r   r   r   rg   N  s    zCommand.executeéÿ  c                 C   s   t j||| jd� d S re   )r   Úmkpathr   )r   ÚnameÚmoder   r   r   rk   Q  s    zCommand.mkpathc              	   C   s   t j||||| j || jd�S re   )r   Ú	copy_filer   r   )r   ÚinfileÚoutfileÚpreserve_modeÚpreserve_timesÚlinkr(   r   r   r   rn   T  s    
  þzCommand.copy_filec              	   C   s   t j|||||| j | jd�S re   )r   Ú	copy_treer   r   )r   ro   rp   rq   rr   Zpreserve_symlinksr(   r   r   r   rt   ]  s    
  þzCommand.copy_treec                 C   s   t j||| jd�S re   )r   Ú	move_filer   )r   ÚsrcZdstr(   r   r   r   ru   f  s    zCommand.move_filec                 C   s    ddl m} |||| jd� d S )Nr   )Úspawnrf   )Zdistutils.spawnrw   r   )r   ÚcmdZsearch_pathr(   rw   r   r   r   rw   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_dirry   rz   r   r   r   r{   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 |¡f }| jsdt ||¡rv|  	||||¡ n
t
 |¡ 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>   rJ   Útupler   Újoinr   r   Znewer_grouprg   r	   Údebug)r   Zinfilesrp   rh   ri   Zexec_msgZskip_msgr(   r   r   r   Ú	make_fileu  s    

ÿzCommand.make_file)Nr&   )r    )N)N)N)r    )r   )Nr    )rj   )r    r    Nr    )r    r    r   r    )r    )r    r    )NNNN)NNr    )"rY   Ú
__module__Ú__qualname__r`   r   r   r#   r   r!   r3   r4   r,   r<   rB   rD   rM   rN   rT   rV   r+   r[   r]   r^   r_   rc   rd   rg   rk   rn   rt   ru   rw   r{   r€   r   r   r   r   r
      sX   0





 ÿ




    ÿ
	    ÿ
	

    ÿ
     ÿr
   )r9   rP   rH   Zdistutils.errorsr   Z	distutilsr   r   r   r   r   r	   r
   r   r   r   r   Ú<module>   s   