ž 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 Csõ|jdƒ}|r>|jttdƒgd|jƒƒdS|jdd…}t|ƒdkrztj|dƒrzdSd}}}|rº|dt ƒkrº|dd…}d}n|r|dt j t jdƒkr|djƒ}|dd…}nd d „|Dƒ}|r+d |d_n|dk sO|dk sO|dk rÐ|dk r}|j|d tt|ƒƒƒn|dk r«|j|d tt|ƒƒƒn|dk rÐ|j|d|ƒqÐnttdƒ|ƒ} |j| _| S(Nubareuprintuprefixiiu u>>icSsg|]}|jƒ‘qS((uclone(u.0uarg((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu ?s u&FixPrint.transform..uusepuendufileiÿÿÿÿiÿÿÿÿ(ugetureplaceuCalluNameuprefixuchildrenulenu parend_exprumatchuNoneuCommaupytreeuLeafutokenu RIGHTSHIFTucloneu add_kwarguStringurepr( uselfunodeuresultsu bare_printuargsusepuendufileul_argsun_stmt((u</opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_print.pyu transform%s8 % %$ " "  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(