U e5d��@sVddlZddlmZddlmZdddd�Zdd d �Zdd d �Zddd�Zdd�Z dS)�N)�DistutilsFileError)�logZcopyingz hard linkingzsymbolically linking)N�hard�sym�@c Cs�d}d}�ztzt|d�}Wn4tk rN}ztd||jf��W5d}~XYnXtj�|�r�zt�|�Wn4tk r�}ztd||jf��W5d}~XYnXzt|d�}Wn4tk r�}ztd||jf��W5d}~XYnXz|� |�}Wn6tk �r(}ztd||jf��W5d}~XYnX|�s4�q|z|� |�Wq�tk �rx}ztd||jf��W5d}~XYq�Xq�W5|�r�|��|�r�|��XdS)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) �close�open�OSErrorr�strerror�os�path�exists�unlink�read�write)�src�dstZ buffer_sizeZfsrcZfdst�eZbuf�r�+/usr/lib64/python3.8/distutils/file_util.py�_copy_file_contentssL $  � � � �r�cCsddlm}ddlm} m} m} m} tj� |�s %srr)Zdistutils.dep_utilr�statrrrrr r�isfiler�isdir�join�basename�dirnamer�debug� _copy_action�KeyError� ValueError�infor�samefile�linkr �symlinkr�utime�chmod)rrZ preserve_modeZpreserve_times�updater+�verbose�dry_runrrrrr�dir�action�strrr� copy_fileCsV!  �             r5c Cs�ddlm}m}m}m}m}ddl} |dkr:t�d||�|rB|S||�sVt d|��||�rrt j � |||��}n||�r�t d||f��|||��s�t d||f��d} zt � ||�WnPtk �r } z0| j\} } | | jkr�d } nt d ||| f��W5d} ~ XYnX| �r�t|||d �zt �|�Wnhtk �r�} zH| j\} } zt �|�Wntk �rpYnXt d |||| f��W5d} ~ XYnX|S) Nr)rr r!r#r$rzmoving %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 pathFTzcouldn't move '%s' to '%s': %s)r0zAcouldn't move '%s' to '%s' by copy/delete: delete '%s' failed: %s)Zos.pathrr r!r#r$�errnorr)rr rr"�renamer �argsZEXDEVr5r)rrr0r1rr r!r#r$r6Zcopy_itrZnum�msgrrr� move_file�s`  �� ��   �  ��r:cCs6t|d�}z|D]}|�|d�qW5|��XdS)N�w� )r r r)�filename�contents�f�linerrr� write_file�s  rA)r)rrrNrr)rr) r Zdistutils.errorsrZ distutilsrr&rr5r:rArrrr�s   � 3� d� ?