o 0i @ s` d dl Z d dlmZ d dlmZ ddddZdd d Z ddd Z dddZdd Z dS ) N)DistutilsFileError)logZcopyingzhard linkingzsymbolically linking)Nhardsym @ c C s d }d }zzt | d}W n ty" } z td| |jf d }~ww tj|rFzt| W n tyE } z td||jf d }~ww zt |d}W n tyb } z td||jf d }~ww z||}W n ty } z td| |jf d }~ww |snz| | W n ty } z td||jf d }~ww qdW |r| |r| d S d S |r| |r| w w ) Nrbzcould not open '%s': %szcould not delete '%s': %swbzcould not create '%s': %sTzcould not read from '%s': %szcould not write to '%s': %s)openOSErrorr strerrorospathexistsunlinkreadwriteclose)srcdstZbuffer_sizeZfsrcZfdsteZbuf r :/opt/alt/python310/lib64/python3.10/distutils/file_util.py_copy_file_contents st r c C s ddl m} ddlm} m} m}m} tj | st d| tj|r3|} tj|tj | }ntj|} |rN|| |sN|dkrJtd| |dfS zt| }W n tya td| w |dkrtj |tj | kr{td|| | ntd|| | |r|dfS |d krtj|rtj| |szt| | |dfW S ty Y nw n|d krtj|rtj| |st| | |dfS t| | |s|rt| }|rt||| || f |rt|||| |dfS )Nr )newer)ST_ATIMEST_MTIMEST_MODES_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 isdirjoinbasenamedirnamer debug_copy_actionKeyError ValueErrorinfor samefilelinkr symlinkr utimechmod)r r Z preserve_modeZpreserve_timesupdater+ verbosedry_runr r r r r diractionstr r r copy_fileC s^ r5 c C s ddl m}m}m}m}m} dd l} |dkrtd| | |r"|S || s,t d| ||r:t j||| }n||rFt d| |f |||sTt d| |f d} zt | | W n( ty } z|j\}} || jkrsd } n t d | || f W Y d }~nd }~ww | rt| ||d zt | W |S ty } z |j\}} zt | W n ty Y nw t d| || | f d }~ww |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" renamer argsZEXDEVr5 r )r r r0 r1 r r r! r# r$ r6 Zcopy_itr Znummsgr r r move_file sp r: c C s> t | d}z|D ] }||d q W | d S | w )Nw )r r r )filenamecontentsfliner r r write_file s rA )r )r r r Nr r )r r ) r Zdistutils.errorsr Z distutilsr r&