� �fc@s�ddlZddlZddlZddlTejjZeZejjZ d�Z ej d�Z d�Z d�Zd�ZdZej e�Zd Zej e�Zd �Zed kr�e �ndS( i����N(t*cCs�d}tjds<tdtjdd�tjd�nx}tjdD]n}tjj|�rzt|�r�d}q�qJtjj|�r�t|d�d}qJt |�rJd}qJqJWtj|�dS(Niisusage: s file-or-directory ... is": will not process symbolic links ( tsystargvterrtexittostpathtisdirt recursedowntislinktfix(tbadtarg((s./usr/lib64/python2.7/Tools/scripts/classfix.pytmain)s    s^[a-zA-Z0-9_]+\.py$cCstj|�dkS(Ni(t ispythonprogtmatch(tname((s./usr/lib64/python2.7/Tools/scripts/classfix.pytispython9scCs1td|f�d}ytj|�}Wn+tjk rW}td||f�dSX|j�g}x�|D]�}|tjtjfkr�qontjj ||�}tjj |�r�qotjj |�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/Tools/scripts/classfix.pyR<s0      c Cs�yt|d�}Wn(tk r=}td||f�dSXtjj|�\}}tjj|d|�}d}d}xG|j�}|s�Pn|d}x>|ddkr�|j�} | s�Pn|| }|d}q�Wt |�} | |kr�|dkrryt|d�}Wn2tk rJ}|j �td ||f�dSX|j d�d}t |d �q~nt t |�d �t d |�t d | �n|dk r~|j| �q~q~W|j �|s�dSy+tj|�} tj|| td@�Wn*tjk r0}td||f�nXytj||d�Wn*tjk ru}td||f�nXytj||�Wn+tjk r�}td||f�dSXdS(Ntrs%s: cannot open: %r it@ii����s\ tws%s: cannot create: %r s: s s< s> i�s%s: warning: chmod failed (%r) t~s %s: warning: backup failed (%r) s%s: rename failed (%r) (topentIOErrorRRRtsplitRtNonetreadlinetfixlinetclosetseektreptreprtwritetstattchmodtST_MODERtrename( tfilenametfRtheadttailttempnametgtlinenotlinetnextlinetnewlinetstatbuf((s./usr/lib64/python2.7/Tools/scripts/classfix.pyR Rsp           s-^([ ]*class +[a-zA-Z0-9_]+) *( *) *((=.*)?):s^ *(.*) *( *) *$cCstj|�dkr|Stjd \\}}\}}\}}|| }||}||krm|d|S||d|!} | jd�} x^tt| ��D]J} tj| | �dkr�tjd\} } | | | | !| | s$          E