3
\Ô ã @ sZ d Z ddlZddlmZ ddlmZ ddddœZddd„Zddd„Zddd„Z dd„ Z
dS )zFdistutils.file_util
Utility functions for operating on single files.
é N)ÚDistutilsFileError)ÚlogZcopyingzhard linkingzsymbolically linking)NÚhardÚsymé i c N C s¤ d}d}�zvyt | dƒ}W n4 tk
rN } ztd| |jf ƒ‚W Y dd}~X nX tjj|ƒr ytj|ƒ W n4 tk
rž } ztd||jf ƒ‚W Y dd}~X nX yt |dƒ}W n4 tk
râ } ztd||jf ƒ‚W Y dd}~X nX x˜y|j|ƒ}W n6 tk
�r* } ztd| |jf ƒ‚W Y dd}~X nX |�s4P y|j |ƒ W qæ tk
�rx } ztd||jf ƒ‚W Y dd}~X qæX qæW W d|�r�|j
ƒ |�rž|j
ƒ X dS ) a5 Copy the file 'src' to 'dst'; both must be filenames. Any error
opening either file, reading from 'src', or writing to 'dst', raises
DistutilsFileError. Data is read/written in chunks of 'buffer_size'
bytes (default 16k). No attempt is made to handle anything apart from
regular files.
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ÚdstÚbuffer_sizeZfsrcZfdstÚeZbuf© r ú+/usr/lib64/python3.6/distutils/file_util.pyÚ_copy_file_contents sF $"""*r é c C s ddl m} ddlm} m}
m}m} tjj | ƒs