a
´i ã @ sl d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZm Z m
Z
mZ e d¡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” |sJ ‚| d¡}|r4| ttdƒg |jd�¡ d S |jd tdƒksJJ ‚|jdd … }t|ƒdkrvt |d ¡rvd S d } }}|r¤|d t ƒ kr¤|d d… }d}|ræ|d t
tj
d¡kræt|ƒd ksÎJ ‚|d ¡ }|d
d … }dd„ |D ƒ}|�rd
|d _|d u�s"|d u�s"|d u�rz|d u�rB| |dtt|ƒƒ¡ |d u�rb| |dtt|ƒƒ¡ |d u�rz| |d|¡ ttdƒ|ƒ} |j| _| S )NZbareÚprint)Úprefixé é éÿÿÿÿú z>>r é c S s g | ]}| ¡ ‘qS © )Úclone)Ú.0Úargr r ú//usr/lib64/python3.9/lib2to3/fixes/fix_print.pyÚ