
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    ¡ê,aÔ  ã                   @   sV   d dl Z d dlmZ d dlmZ ddddœZdd	d
„Zddd„Zddd„Zdd„ Z	dS )é    N)ÚDistutilsFileError)ÚlogZcopyingzhard linkingzsymbolically linking)NÚhardÚsymé @  c              
   C   s¢  d }d }�ztzt| dƒ}W n4 tk
rN } ztd| |jf ƒ‚W 5 d }~X Y nX tj |¡r zt |¡ W n4 tk
rž } ztd||jf ƒ‚W 5 d }~X Y nX zt|dƒ}W n4 tk
râ } ztd||jf ƒ‚W 5 d }~X Y nX z| 	|¡}W n6 tk
�r( } ztd| |jf ƒ‚W 5 d }~X Y nX |�s4�q|z| 
|¡ W qä tk
�rx } ztd||jf ƒ‚W 5 d }~X Y qäX qäW 5 |�rŽ|  ¡  |�rœ|  ¡  X d S )NÚrbzcould not open '%s': %szcould not delete '%s': %sÚwbzcould not create '%s': %szcould not read from '%s': %szcould not write to '%s': %s)ÚcloseÚopenÚOSErrorr   ÚstrerrorÚosÚpathÚexistsÚunlinkÚreadÚwrite)ÚsrcÚdstZbuffer_sizeZfsrcZfdstÚeZbuf© r   ú8/opt/alt/python38/lib64/python3.8/distutils/file_util.pyÚ_copy_file_contents   sL    	$ÿÿÿÿr   é   c                 C   s  ddl m} ddlm}	m}
m}m} tj 	| ¡s<t
d|  ƒ‚tj |¡rd|}tj |tj | ¡¡}ntj |¡}|rš|| |ƒsš|dkr’t d| ¡ |dfS zt| }W n  tk
rÆ   td| ƒ‚Y nX |dk�rtj |¡tj | ¡krüt d|| |¡ nt d|| |¡ |�r|dfS |d	k�rrtj |¡�rBtj | |¡�s®zt | |¡ |dfW S  tk
�rn   Y nX n<|d
k�r®tj |¡�rštj | |¡�s®t | |¡ |dfS t| |ƒ |�sÄ|�rt | ¡}|�rìt |||	 ||
 f¡ |�rt |||| ƒ¡ |dfS )Nr   )Únewer)ÚST_ATIMEÚST_MTIMEÚST_MODEÚS_IMODEz4can't copy '%s': doesn't exist or not a regular filer   z"not copying %s (output up-to-date)z&invalid value '%s' for 'link' argumentz%s %s -> %sr   r   )Zdistutils.dep_utilr   Ústatr   r   r   r   r   r   Úisfiler   ÚisdirÚjoinÚbasenameÚdirnamer   ÚdebugÚ_copy_actionÚKeyErrorÚ
ValueErrorÚinfor   ÚsamefileÚlinkr   Úsymlinkr   ÚutimeÚchmod)r   r   Zpreserve_modeZpreserve_timesÚupdater+   ÚverboseÚdry_runr   r   r   r   r   ÚdirÚactionÚstr   r   r   Ú	copy_fileC   sV    !ÿ





r5   c                 C   sœ  ddl m}m}m}m}m} dd l}	|dkr:t d| |¡ |rB|S || ƒsVt	d|  ƒ‚||ƒrrt
j ||| ƒ¡}n||ƒrŠt	d| |f ƒ‚|||ƒƒs¦t	d| |f ƒ‚d}
zt
 | |¡ W nP tk
�r
 } z0|j\}}||	jkrèd	}
nt	d
| ||f ƒ‚W 5 d }~X Y nX |
�r˜t| ||d� zt
 | ¡ W nh tk
�r– } zH|j\}}zt
 |¡ W n tk
�rp   Y nX t	d| || |f ƒ‚W 5 d }~X Y nX |S )Nr   )r   r    r!   r#   r$   r   zmoving %s -> %sz#can't move '%s': not a regular filez0can't move '%s': destination '%s' already existsz2can't move '%s': destination '%s' not a valid pathFTzcouldn't move '%s' to '%s': %s)r0   zAcouldn't move '%s' to '%s' by copy/delete: delete '%s' failed: %s)Zos.pathr   r    r!   r#   r$   Úerrnor   r)   r   r   r   r"   Úrenamer   ÚargsZEXDEVr5   r   )r   r   r0   r1   r   r    r!   r#   r$   r6   Zcopy_itr   ZnumÚmsgr   r   r   Ú	move_file¦   s`    ÿÿÿÿ

ÿ

þÿr:   c                 C   s6   t | dƒ}z|D ]}| |d ¡ qW 5 | ¡  X d S )NÚwÚ
)r
   r	   r   )ÚfilenameÚcontentsÚfÚliner   r   r   Ú
write_fileå   s
    
rA   )r   )r   r   r   Nr   r   )r   r   )
r   Zdistutils.errorsr   Z	distutilsr   r&   r   r5   r:   rA   r   r   r   r   Ú<module>   s    þ
3      ÿ
d  þ
?