File: //lib64/python3.9/distutils/__pycache__/file_util.cpython-39.opt-2.pyc
a
    �DOg�  �                   @   sV   d dl Z d dlmZ d dlmZ dddd�Zdd	d
�Zddd
�Zddd�Zdd� Z	dS )�    N)�DistutilsFileError)�logZcopyingzhard linkingzsymbolically linking)N�hard�sym� @  c              
   C   s�  d }d }�z�zt | d�}W n6 tyP } ztd| |jf ��W Y d }~n
d }~0 0 tj�|�r�zt�|� W n6 ty� } ztd||jf ��W Y d }~n
d }~0 0 zt |d�}W n6 ty� } ztd||jf ��W Y d }~n
d }~0 0 z|�|�}W n8 t�y0 } ztd| |jf ��W Y d }~n
d }~0 0 |�s<�q�z|�	|� W q� t�y� } ztd||jf ��W Y d }~q�d }~0 0 q�W |�r�|�
�  |�r�|�
�  n|�r�|�
�  |�r�|�
�  0 d S )N�rbzcould not open '%s': %szcould not delete '%s': %s�wbzcould not create '%s': %szcould not read from '%s': %szcould not write to '%s': %s)�open�OSErrorr   �strerror�os�path�exists�unlink�read�write�close)�src�dstZbuffer_size�fsrc�fdst�e�buf� r   �+/usr/lib64/python3.9/distutils/file_util.py�_copy_file_contents   sT    	(����
�r   �   c                 C   s
  ddl m} ddlm}	m}
m}m} tj�	| �s<t
d|  ��tj�|�rd|}
tj�|tj�
| ��}ntj�|�}
|r�|| |�s�|dkr�t�d| � |dfS zt| }W n ty�   td| ��Y n0 |dk�r
tj�
|�tj�
| �kr�t�d|| |
� nt�d|| |� |�r|dfS |d	k�rntj�|��r@tj�| |��s�zt�| |� |dfW S  t�yj   Y n0 n<|d
k�r�tj�|��r�tj�| |��s�t�| |� |dfS t| |� |�s�|�rt�| �}|�r�t�|||	 ||
 f� |�rt�|||| �� |dfS )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   )Zdistutils.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_modeZpreserve_times�updater.   �verbose�dry_runr   r   r   r    r!   �dir�action�str   r   r   �	copy_fileC   sV    !�
r8   c                 C   s�  ddl m}m}m}m}m} dd l}	|dkr:t�d| |� |rB|S || �sVt	d|  ��||�rrt
j�||| ��}n||�r�t	d| |f ��|||��s�t	d| |f ��d}
zt
�
| |� W nR t�y } z8|j\}}
||	jkr�d	}
nt	d
| ||
f ��W Y d }~n
d }~0 0 |
�r�t| ||d� zt
�| � W nh t�y� } zN|j\}}
zt
�|� W n t�yn   Y n0 t	d| || |
f ��W Y d }~n
d }~0 0 |S )
Nr   )r   r#   r$   r&