ðÕYf& ã @ sš d Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z m Z m
Z
m Z m Z e j
d ƒ Z Gd d „ d e j ƒ Z d
S)a 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__
é )Úpatcomp)Úpytree)Útoken)Ú
fixer_base)ÚNameÚCallÚCommaÚStringÚis_tuplez"atom< '(' [atom|STRING|NAME] ')' >c @ s4 e Z d Z d Z d Z d d „ Z d d „ Z d S)ÚFixPrintTzP
simple_stmt< any* bare='print' any* > | print_stmt
c
C s# | s t ‚ | j d ƒ } | rJ | j t t d ƒ g d | j ƒƒ d S| j d t d ƒ k si t ‚ | j d d … } t | ƒ d k r¥ t j | d ƒ r¥ d Sd } } } | râ | d t
ƒ k râ | d d … } d } | r?| d t j t
j d ƒ k r?t | ƒ d k st ‚ | d j ƒ } | d d … } d
d „ | Dƒ } | red | d _ | d k s‰| d k s‰| d k rþ| d k r´| j | d
t t | ƒ ƒ ƒ | d k rß| j | d t t | ƒ ƒ ƒ | d k rþ| j | d | ƒ t t d ƒ | ƒ } | j | _ | S)NZbareÚprintÚprefixé é ú z>>r é c S s g | ] } | j ƒ ‘ q S© )Úclone)Ú.0Úargr r ú? s z&FixPrint.transform.