관리-도구
편집 파일: file_util.cpython-38.opt-2.pyc
U i�f� � @ 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 }�ztzt| d�}W n4 tk rN } ztd| |jf ��W 5 d }~X Y nX tj�|�r�zt�|� W n4 tk r� } ztd||jf ��W 5 d }~X Y nX zt|d�}W n4 tk r� } ztd||jf ��W 5 d }~X Y nX z|� |�}W n6 tk �r( } ztd| |jf ��W 5 d }~X Y nX |�s4�q|z|� |� W q� tk �rx } ztd||jf ��W 5 d }~X Y q�X q�W 5 |�r�|� � |�r�|� � X 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)�close�open�OSErrorr �strerror�os�path�exists�unlink�read�write)�src�dstZbuffer_sizeZfsrcZfdst�eZbuf� r �8/opt/alt/python38/lib64/python3.8/distutils/file_util.py�_copy_file_contents sL $����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 tk r� td| ��Y nX |dk�rtj� |�tj� | �kr�t�d|| | � nt�d|| |� |�r|dfS |d k�rrtj�|��rBtj�| |��s�zt�| |� |dfW S tk �rn Y nX 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 !� r5 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 nP tk �r } z0|j\}} || jkr�d } nt d | || f ��W 5 d }~X Y nX | �r�t| ||d� zt �| � W nh tk �r� } zH|j\}} zt �|� W n tk �rp Y nX t d| || | f ��W 5 d }~X Y nX |S ) Nr )r r r! r# r$ r zmoving %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)r0 zAcouldn't move '%s' to '%s' by copy/delete: delete '%s' failed: %s)Zos.pathr r r! r# r$ �errnor r) r r r r"