� {fc@s�dZddlmZddlmZddlmZddlmZddlmZm Z m Z m Z m Z ej d�Zdejfd ��YZd S( s Fixer for print. Change: 'print' into 'print()' 'print ...' into 'print(...)' 'print ... ,' into 'print(..., end=" ")' 'print >>x, ...' into 'print(..., file=x)' No changes are applied if print_function is imported from __future__ i(tpatcomp(tpytree(ttoken(t fixer_base(tNametCalltCommatStringtis_tuples"atom< '(' [atom|STRING|NAME] ')' >tFixPrintcBs&eZeZdZd�Zd�ZRS(sP simple_stmt< any* bare='print' any* > | print_stmt c Cs�|jd�}|r>|jttd�gd|j��dS|jd}t|�dkrttj|d�rtdSd}}}|r�|dt �kr�|d }d}n|r�|dt j t jd�kr�|dj�}|d }ng|D]}|j�^q�} | r%d | d_n|dk sI|dk sI|dk r�|dk rw|j| d tt|���n|dk r�|j| d tt|���n|dk r�|j| d |�q�nttd�| �} |j| _| S(Ntbareuprinttprefixiii����t u>>iuusepuendufile(tgettreplaceRRR tchildrentlent parend_exprtmatchtNoneRRtLeafRt RIGHTSHIFTtclonet add_kwargRtrepr( tselftnodetresultst bare_printtargstseptendtfiletargtl_argstn_stmt((s//usr/lib64/python2.7/lib2to3/fixes/fix_print.pyt transform%s8  %  % $ " "  cCsrd|_tj|jjt|�tjtjd�|f�}|ra|j t ��d|_n|j |�dS(Nuu=u ( R RtNodetsymstargumentRRRtEQUALtappendR(Rtl_nodests_kwdtn_exprt n_argument((s//usr/lib64/python2.7/lib2to3/fixes/fix_print.pyRMs    (t__name__t __module__tTruet BM_compatibletPATTERNR$R(((s//usr/lib64/python2.7/lib2to3/fixes/fix_print.pyR s (N(t__doc__tRRtpgen2RRt fixer_utilRRRRRtcompile_patternRtBaseFixR (((s//usr/lib64/python2.7/lib2to3/fixes/fix_print.pyts(