o ?Og@s` ddlZddlmZddlmZddddZdd d Z dd d Z dddZddZ dS)N)DistutilsFileError)logZcopyingz hard linkingzsymbolically linking)Nhardsym@c Cs d}d}zzt|d}Wnty"}z td||jfd}~wwtj|rFzt|WntyE}z td||jfd}~wwzt|d}Wntyb}z td||jfd}~ww z||}Wnty}z td||jfd}~ww|snz| |Wnty}z td||jfd}~wwqdW|r| |r| dSdS|r| |r| ww) Nrbzcould not open '%s': %szcould not delete '%s': %swbzcould not create '%s': %sTzcould not read from '%s': %szcould not write to '%s': %s) openOSErrorrstrerrorospathexistsunlinkreadwriteclose)srcdstZ buffer_sizeZfsrcZfdsteZbufr:/opt/alt/python310/lib64/python3.10/distutils/file_util.py_copy_file_contentsst       rcCs ddlm}ddlm} m} m} m} tj |st d|tj |r3|} tj |tj |}ntj|} |rN|||sN|dkrJtd||dfSzt|}Wn tyatd|w|dkrtj |tj |kr{td||| ntd||||r|dfS|d krtj|rtj||sz t|||dfWStyYnwn|d krtj|rtj||st|||dfSt|||s|rt|}|rt||| || f|rt|| || |dfS) Nr)newer)ST_ATIMEST_MTIMEST_MODES_IMODEz4can't copy '%s': doesn't exist or not a regular filerz"not copying %s (output up-to-date)z&invalid value '%s' for 'link' argumentz %s %s -> %srr)Zdistutils.dep_utilrstatrrrrr r isfilerisdirjoinbasenamedirnamerdebug _copy_actionKeyError ValueErrorinforsamefilelinkr symlinkrutimechmod)rrZ preserve_modeZpreserve_timesupdater+verbosedry_runrrrrrdiractionstrrr copy_fileCs^               r5c Cs ddlm}m}m}m}m}ddl} |dkrtd|||r"|S||s,t d|||r:t j |||}n ||rFt d||f|||sTt d||fd} zt ||Wn(ty} z| j\} } | | jkrsd } n t d ||| fWYd} ~ nd} ~ ww| rt|||d zt |W|Sty} z | j\} } zt |Wn tyYnwt d |||| fd} ~ ww|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 r r"renamer argsZEXDEVr5r)rrr0r1rr r!r#r$r6Zcopy_itrZnummsgrrr move_filesp            r:cCs> t|d}z|D] }||dq W|dS|w)Nw )r rr)filenamecontentsflinerrr write_files rA)r)rrrNrr)rr) r Zdistutils.errorsrZ distutilsrr&rr5r:rArrrrs    3 d ?