B °u¸”H0­ã@sVddlZddlmZddlmZddddœZdd d „Zdd d „Zddd„Zdd„Z dS)éN)ÚDistutilsFileError)ÚlogZcopyingz hard linkingzsymbolically linking)NÚhardÚsymé@c Cs¤d}d}zvyt|dƒ}Wn4tk rN}ztd||jfƒ‚Wdd}~XYnXtj |¡r yt |¡Wn4tk rž}ztd||jfƒ‚Wdd}~XYnXyt|dƒ}Wn4tk râ}ztd||jfƒ‚Wdd}~XYnXx˜y| |¡}Wn6tk r*}ztd||jfƒ‚Wdd}~XYnX|s4Py|  |¡Wqætk rx}ztd||jfƒ‚Wdd}~XYqæXqæWWd|r|  ¡|rž|  ¡XdS)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ÚeÚbuf©rú6/opt/alt/python37/lib/python3.7/distutils/file_util.pyÚ_copy_file_contentssF $ """*récCs ddlm}ddlm} m} m} m} tj  |¡s %srr)Zdistutils.dep_utilrÚstatrrrr r r ÚisfilerÚisdirÚjoinÚbasenameÚdirnamerÚdebugÚ _copy_actionÚKeyErrorÚ ValueErrorÚinforÚsamefileÚlinkr ÚsymlinkrÚutimeÚchmod)rrZ preserve_modeZpreserve_timesÚupdater-ÚverboseÚdry_runrrrrr ÚdirÚactionÚstrrrÚ copy_fileCsT!               r7c Csœddlm}m}m}m}m}ddl} |dkr:t d||¡|rB|S||ƒsVt d|ƒ‚||ƒrrt j   |||ƒ¡}n||ƒrŠt d||fƒ‚|||ƒƒs¦t d||fƒ‚d} yt   ||¡WnPtk r } z0| j\} } | | jkrèd } nt d ||| fƒ‚Wdd} ~ XYnX| r˜t|||d yt  |¡Wnhtk r–} zH| j\} } yt  |¡Wntk rpYnXt d |||| fƒ‚Wdd} ~ XYnX|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)r2zAcouldn't move '%s' to '%s' by copy/delete: delete '%s' failed: %s)Zos.pathrr"r#r%r&Úerrnorr+rr r r$Úrenamer ÚargsZEXDEVr7r)rrr2r3rr"r#r%r&r8Zcopy_itrZnumÚmsgrrrÚ move_file¦sR       " "r<cCs:t|dƒ}z x|D]}| |d¡qWWd| ¡XdS)NÚwÚ )r rr)ÚfilenameÚcontentsÚfÚlinerrrÚ write_fileås   rC)r)rrrNrr)rr) r Zdistutils.errorsrZ distutilsrr(rr7r<rCrrrrÚs   3 c =