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` |j d�}|r,|jttd�g |jd�� d S |jdd � }t|�dkrXtj|d �rXd S d } }}|r�|d t � kr�|d d� }d}|r�|d t
jtj
d�kr�|d j� }|dd � }d d
� |D �}|r�d|d _|d k s�|d k s�|d k �rF|d k �r| j|dtt|��� |d k �r.| j|d
tt|��� |d k �rF| j|d|� ttd�|�} |j| _| S )NZbare�print)�prefix� � � z>>� c S s g | ]}|j � �qS � )�clone)�.0�argr r �//usr/lib64/python3.6/lib2to3/fixes/fix_print.py�