3
\ ã @ sl d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZm Z m
Z
mZ ejdƒZ
G dd „ d ejƒZd
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ÚStringz"atom< '(' [atom|STRING|NAME] ')' >c @ s$ e Zd ZdZdZdd„ Zdd„ ZdS )ÚFixPrintTzP
simple_stmt< any* bare='print' any* > | print_stmt
c
C s” |st ‚|jdƒ}|r4|jttdƒg |jd�ƒ d S |jd tdƒksJt ‚|jdd … }t|ƒdkrvtj |d ƒrvd S d } }}|r¤|d t
ƒ kr¤|d d… }d}|ræ|d tjt
jdƒkræt|ƒdksÎt ‚|d jƒ }|d d … }d
d„ |D ƒ}|�rd|d _|d k �s"|d k �s"|d k �rz|d k �rB| j|d
tt|ƒƒƒ |d k �rb| j|dtt|ƒƒƒ |d k �rz| j|d|ƒ ttdƒ|ƒ} |j| _| S )NZbareÚprint)Úprefixé é ú z>>r é c S s g | ]}|j ƒ ‘qS © )Úclone)Ú.0Úargr r ú//usr/lib64/python3.6/lib2to3/fixes/fix_print.pyú