a  ze@sVddlZddlmZddlmZddddZdd d Zdd d ZdddZddZ dS)N)DistutilsFileError)logZcopyingz hard linkingzsymbolically linking)Nhardsym@c Csd}d}zzt|d}Wn6tyP}ztd||jfWYd}~n d}~00tj|rzt|Wn6ty}ztd||jfWYd}~n d}~00zt|d}Wn6ty}ztd||jfWYd}~n d}~00z||}Wn8ty0}ztd||jfWYd}~n d}~00|s<qz| |Wqty}ztd||jfWYd}~qd}~00qW|r| |r| n|r| |r| 0dS)Nrbzcould not open '%s': %szcould not delete '%s': %swbzcould not create '%s': %szcould not read from '%s': %szcould not write to '%s': %s) openOSErrorrstrerrorospathexistsunlinkreadwriteclose)srcdstZ buffer_sizefsrcfdstebufrG/opt/bitninja-python-dojo/embedded/lib/python3.9/distutils/file_util.py_copy_file_contentssT (      rcCs ddlm}ddlm} m} m} m} tj |s %srr)Zdistutils.dep_utilrstatrrr r!r r isfilerisdirjoinbasenamedirnamerdebug _copy_actionKeyError ValueErrorinforsamefilelinkr symlinkrutimechmod)rrZ preserve_modeZpreserve_timesupdater.verbosedry_runrrrr r!diractionstrrr copy_fileCsV!                r8c Csddlm}m}m}m}m}ddl} |dkr:td|||rB|S||sVt d|||rrt j |||}n||rt d||f|||st d||fd} zt ||WnRty } z8| j\} } | | jkrd } nt d ||| fWYd} ~ n d} ~ 00| rt|||d zt |Wnhty} zN| j\} } zt |WntynYn0t d |||| fWYd} ~ n d} ~ 00|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)r3zAcouldn't move '%s' to '%s' by copy/delete: delete '%s' failed: %s)Zos.pathrr#r$r&r'errnorr,rr r r%renamer argsZEXDEVr8r)rrr3r4rr#r$r&r'r9Zcopy_itrnummsgrrr move_files`        r>cCs>t|d}z$|D]}||dqW|n |0dS)Nw )r rr)filenamecontentsflinerrr write_files  rE)r)rrrNrr)rr) r Zdistutils.errorsrZ distutilsrr)rr8r>rErrrrs   3 d ?