509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \  ã               @   sl   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 ejdƒZG d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ÚStringz"atom< '(' [atom|STRING|NAME] ')' >c               @   s$   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ƒ}|r4|jttdƒg |jd�ƒ d S |jd tdƒksJt ‚|jdd … }t|ƒdkrvtj	|d ƒrvd S d  } }}|r¤|d t
ƒ kr¤|d d… }d}|ræ|d tjtjdƒkræt|ƒdksÎt ‚|d jƒ }|d	d … }d
d„ |D ƒ}|�rd|d _|d k	�s"|d k	�s"|d k	�rz|d k	�rB| j|dtt|ƒƒƒ |d k	�rb| j|dtt|ƒƒƒ |d k	�rz| j|d|ƒ ttdƒ|ƒ}	|j|	_|	S )NZbareÚprint)Úprefixé    é   ú z>>r   é   c             S   s   g | ]}|j ƒ ‘qS © )Úclone)Ú.0Úargr   r   ú//usr/lib64/python3.6/lib2to3/fixes/fix_print.pyú
<listcomp>?   s    z&FixPrint.transform.<locals>.<listcomp>Ú ÚsepÚendÚfileéÿÿÿÿr   )ÚAssertionErrorÚgetÚreplacer   r   r   ZchildrenÚlenÚparend_exprÚmatchr   r   ÚLeafr   Ú
RIGHTSHIFTr   Ú	add_kwargr	   Úrepr)
ÚselfZnodeZresultsZ
bare_printÚargsr   r   r   Zl_argsZn_stmtr   r   r   Ú	transform%   s>    




zFixPrint.transformc             C   sN   d|_ tj| jjt|ƒtjtjdƒ|fƒ}|r@|j	t
ƒ ƒ d|_ |j	|ƒ d S )Nr   ú=r   )r   r   ZNodeZsymsZargumentr   r"   r   ÚEQUALÚappendr   )r&   Zl_nodesZs_kwdZn_exprZ
n_argumentr   r   r   r$   M   s    
zFixPrint.add_kwargN)Ú__name__Ú
__module__Ú__qualname__ZBM_compatibleZPATTERNr(   r$   r   r   r   r   r
      s   (r
   N)Ú__doc__r   r   r   Zpgen2r   r   Z
fixer_utilr   r   r   r	   Zcompile_patternr    ZBaseFixr
   r   r   r   r   Ú<module>   s   