ž zyMa& c@sšdZddlmZddlmZddlmZddlmZddlmZm Z m Z m Z m Z ej dƒZGdd „d ejƒZd S( u 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(upatcomp(upytree(utoken(u fixer_base(uNameuCalluCommauStringuis_tupleu"atom< '(' [atom|STRING|NAME] ')' >cBs8|EeZdZdZdZdd„Zdd„ZdS(uFixPrintuP simple_stmt< any* bare='print' any* > | print_stmt c Cs8|s t‚|jdƒ}|rJ|jttdƒgd|jƒƒdS|jdtdƒksit‚|jdd…}t|ƒdkr¥tj |dƒr¥dSd}}}|rå|dt ƒkrå|dd…}d}n|rE|dt j tjdƒkrEt|ƒdks"t‚|djƒ}|d d…}nd d „|Dƒ}|rnd |d_n|dk s’|dk s’|dk r|dk rÀ|j|d tt|ƒƒƒn|dk rî|j|dtt|ƒƒƒn|dk r|j|d|ƒqnttdƒ|ƒ} |j| _| S(Nubareuprintuprefixiiu u>>iicSsg|]}|jƒ‘qS((uclone(u.0uarg((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu ?s u&FixPrint.transform..uusepuendufileiÿÿÿÿiÿÿÿÿ(uAssertionErrorugetureplaceuCalluNameuprefixuchildrenulenu parend_exprumatchuNoneuCommaupytreeuLeafutokenu RIGHTSHIFTucloneu add_kwarguStringurepr( uselfunodeuresultsu bare_printuargsusepuendufileul_argsun_stmt((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu transform%s>  % %$ " "  uFixPrint.transformcCsrd|_tj|jjt|ƒtjtjdƒ|fƒ}|ra|j t ƒƒd|_n|j |ƒdS(Nuu=u ( uprefixupytreeuNodeusymsuargumentuNameuLeafutokenuEQUALuappenduComma(uselful_nodesus_kwdun_expru n_argument((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu add_kwargMs    uFixPrint.add_kwargNT(u__name__u __module__u __qualname__uTrueu BM_compatibleuPATTERNu transformu add_kwarg(u __locals__((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyuFixPrints (uFixPrintN(u__doc__uupatcompupytreeupgen2utokenu fixer_baseu fixer_utiluNameuCalluCommauStringuis_tupleucompile_patternu parend_expruBaseFixuFixPrint(((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyus(