o
0i @ sl d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZm Z m
Z
mZ edZ
G dd d ejZd
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)NameCallCommaStringz"atom< '(' [atom|STRING|NAME] ')' >c @ s$ e Zd ZdZdZdd Zdd ZdS )FixPrintTzP
simple_stmt< any* bare='print' any* > | print_stmt
c
C s |sJ | d}|r|ttdg |jd d S |jd tdks%J |jdd }t|dkr;t|d r;d S d } }}|rR|d t krR|d d }d}|rs|d t
tj
dkrst|d ksgJ |d }|d
d }dd |D }|rd
|d _|d us|d us|d ur|d ur| |dtt| |d ur| |dtt| |d ur| |d| ttd|} |j| _| S )NZbareprint)prefix z>>r c S s g | ]}| qS )clone).0argr r >/opt/alt/python310/lib64/python3.10/lib2to3/fixes/fix_print.py