???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................3

  \                 @   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   i   c          N   C   s  d }d }zvyt | d}W n4 tk
rN } ztd| |jf W Y d d }~X nX tjj|rytj| W n4 tk
r } ztd||jf W Y d d }~X nX yt |d}W n4 tk
r } ztd||jf W Y d d }~X nX xy|j|}W n6 tk
r* } ztd| |jf W Y d d }~X nX |s4P y|j	| W q tk
rx } ztd||jf W Y d d }~X qX qW W d |r|j
  |r|j
  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)openOSErrorr   strerrorospathexistsunlinkreadwriteclose)srcdstbuffer_sizeZfsrcZfdsteZbuf r   +/usr/lib64/python3.6/distutils/file_util.py_copy_file_contents   sF    	$"""*r      c             C   s  ddl m} ddlm}	m}
m}m} tjj	| s<t
d|  tjj|rd|}tjj|tjj| }ntjj|}|r|| | r|dkrtjd|  |dfS yt| }W n  tk
r   td| Y nX |dkrtjj|tjj| kr tjd|| | ntjd|| | |r|dfS |d	krttjj|oBtjj| |sytj| | |dfS  tk
rp   Y nX n<|d
krtjj|otjj| |stj| | |dfS t| | |s|rtj| }|rtj|||	 ||
 f |rtj||||  |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   sT    !





r6   c          (   C   s  ddl m}m}m}m}m} dd l}	|dkr:tjd| | |rB|S || sVt	d|  ||rrt
jj||| }n||rt	d| |f |||st	d| |f d}
yt
j| | W nP tk
r
 } z2|j\}}||	jkrd	}
nt	d
| ||f W Y d d }~X nX |
rt| ||d yt
j|  W nh tk
r } zJ|j\}}yt
j| W n tk
rp   Y nX t	d| || |f W Y d d }~X 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)r1   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EXDEVr6   r   )r   r   r1   r2   r   r!   r"   r$   r%   r7   Zcopy_itr   Znummsgr   r   r   	move_file   sR    

"
"r;   c          
   C   s:   t | d}z x|D ]}|j|d  qW W d |j  X d S )Nw
)r	   r   r   )filenamecontentsfliner   r   r   
write_file   s
    

rB    @  )rC   )r   r   r   Nr   r   )r   r   )
r   Zdistutils.errorsr   Z	distutilsr   r'   r   r6   r;   rB   r   r   r   r   <module>   s   
3 
c 
=