B {x@sddlZddlZddlZddlTddlZejjZeZej jZ da da da ddZddZd d Zd d Zd dZedkr~edS)N)*FTc CsDdtjd}yttjddd\}}WnFtjk rr}z&tt|dt|tdWdd}~XYnXx8|D]0\}}|dkr|a|dkrd a |d krzd a qzWtrt d r|std t|tdd}xV|D]N}t j |rt|r2d}qt j |r&t|dd}qt|rd}qWt|dS)Nz6usage: %s -i /interpreter -p -n file-or-directory ... rzi:pn z-iz-pTz-nF/z'-i option or file-or-directory missing z": will not process symbolic links )sysargvgetopterrorerrstrexitencodenew_interpreterpreserve_timestamps create_backup startswithospathisdir recursedownislinkfix)ZusageZoptsargsmsgoabadargr:/opt/alt/python37/lib64/python3.7/Tools/scripts/pathfix.pymain&s>     r!cCs |dS)Nz.py)endswith)namerrr ispythonJsr$c Cstd|fd}yt|}Wn2tk rR}ztd||fdSd}~XYnX|g}xf|D]^}|tjtjfkr|qftj ||}tj |rqftj |r| |qft |rft|rfd}qfWx|D]}t|rd}qW|S)Nzrecursedown(%r) rz%s: cannot list directory: %r r)dbgrlistdirOSErrorr sortcurdirpardirrjoinrrappendr$rr)dirnamernamesrZsubdirsr#fullnamerrr rMs0     rc Csyt|d}Wn2tk r@}ztd||fdSd}~XYnX|}t|}||krrt|d|dStj |\}}tj |d|}yt|d}Wn:tk r}z|td||fdSd}~XYnXt|d| |d } x"| | } | s P| | qW||d} d} y.t |} | j} | j} t|| td @Wn4tk r}ztd ||fWdd}~XYnXtryt||d Wn4tk r}ztd ||fWdd}~XYnXnDyt|Wn4tk r,}ztd||fWdd}~XYnXyt||Wn4tk rr}ztd||fdSd}~XYnXtr| r| ryt|| | fWn4tk r}ztd||fdSd}~XYnXdS)Nrbz%s: cannot open: %r rz : no change @wbz%s: cannot create: %r z : updating i iz%s: warning: chmod failed (%r) ~z %s: warning: backup failed (%r) z"%s: warning: removing failed (%r) z%s: rename failed (%r) z#%s: reset of timestamp failed (%r) r)openIOErrorr readlinefixlinerepcloserrsplitr+writereadstatst_mtimest_atimechmodST_MODEr'rrenameremoverutime)filenamefrlineZfixedheadtailZtempnamegZBUFSIZEZbufmtimeZatimeZstatbufrrr rcsx     "$" rcCs&|ds|Sd|kr|SdtdS)Ns#!spythons#!  )rr)rGrrr r7s  r7__main__)rrerr=r stderrr;r r%stdoutr8rrrr!r$rrr7__name__rrrr s"$F