V Qc@sddlZddlZddlZddlTddlZejjZeZej jZ dZ ej dZ dZdZdZddlmZid d 6d d 6d d 6d d6dd6dd6dd6dd6ZdZedkre ndS(iN(t*cCsd}tjds<tdtjddtjdnx}tjdD]n}tjj|rzt|rd}qqJtjj|rt|dd}qJt |rJd}qJqJWtj|dS(Niisusage: s file-or-directory ... is": will not process symbolic links ( tsystargvterrtexittostpathtisdirt recursedowntislinktfix(tbadtarg((s*/usr/lib64/python2.7/Demo/scripts/eqfix.pytmain)s    s^[a-zA-Z0-9_]+\.py$cCstj|dkS(Ni(t ispythonprogtmatch(tname((s*/usr/lib64/python2.7/Demo/scripts/eqfix.pytispython9scCs1td|fd}ytj|}Wn+tjk rW}td||fdSX|jg}x|D]}|tjtjfkrqontjj ||}tjj |rqotjj |r|j |qot |rot|rd}qqoqoWx#|D]}t|rd}qqW|S(Nsrecursedown(%r) is%s: cannot list directory: %r i(tdbgRtlistdirterrorRtsorttcurdirtpardirRtjoinR RtappendRR R(tdirnameR tnamestmsgtsubdirsRtfullname((s*/usr/lib64/python2.7/Demo/scripts/eqfix.pyR<s0      c Csyt|d}Wn(tk r=}td||fdSXtjj|\}}tjj|d|}d}d}x|j}|sPn|d}|dkrd|krt|d|j dS|dkrf|dkrf|d d krft j|d} | rft j d | ddkrf|d | d}|d }t||j dSnx>|d dkr|j} | sPn|| }|d}qiWt |} | |krm|dkr:yt|d}Wn2tk r}|j td||fdSX|jdd}t|dq~ntt|dtd|td| n|dk r~|j| q~q~|j |sdSy+tj|} tj|| td@Wn*tjk r}td||fnXytj||dWn*tjk r<}td||fnXytj||Wn+tjk r~}td||fdSXdS(Ntrs%s: cannot open: %r it@its!: contains null bytes; not fixed is#!s [pP]ythons: s script; not fixed is\ tws%s: cannot create: %r s: s s< s> is%s: warning: chmod failed (%r) t~s %s: warning: backup failed (%r) s%s: rename failed (%r) (topentIOErrorRRRtsplitRtNonetreadlinetclosetstringtretsearchtfixlinetseektreptreprtwritetstattchmodtST_MODERtrename( tfilenametfRtheadttailttempnametgtlinenotlinetwordstnextlinetnewlinetstatbuf((s*/usr/lib64/python2.7/Demo/scripts/eqfix.pyR Rs   ("            (t tokenprogt:tifteliftwhiles treturnt)t(t]t[t}t{t`cCs?d|kr|Sdt|}}g}x||kr:tj||}|dkrcdGH|G|Stjd\}}|||!}||}|r||dkr|d=q,tj|r|jt|q,|dkr|r|| d||}|tdt|}}q,|dkr,| r,dGH|Gq,q,W|S(Nt=is(Syntax error:)iis==s(Warning: '==' at top level:)(tlenRBRtregsthas_keyR(R=titntstacktjtatbttoken((s*/usr/lib64/python2.7/Demo/scripts/eqfix.pyR-s0       t__main__(RR+RR2R*tstderrR1RRtstdoutR/R tcompileRRRR ttokenizeRBRR-t__name__(((s*/usr/lib64/python2.7/Demo/scripts/eqfix.pyts$           R