Your IP : 18.116.19.29


Current Path : /opt/alt/python35/lib64/python3.5/lib2to3/fixes/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/lib2to3/fixes/__pycache__/fix_print.cpython-35.pyc



��Yf&�@s�dZddlmZddlmZddlmZddlmZddlmZm	Z	m
Z
mZmZej
d�ZGdd	�d	ej�Zd
S)aFixer 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�String�is_tuplez"atom< '(' [atom|STRING|NAME] ')' >c@s4eZdZdZdZdd�Zdd�ZdS)�FixPrintTzP
              simple_stmt< any* bare='print' any* > | print_stmt
              c
Cs#|st�|jd�}|rJ|jttd�gd|j��dS|jdtd�ksit�|jdd�}t|�dkr�tj	|d�r�dSd}}}|r�|dt
�kr�|dd�}d}|r?|dtjt
jd�kr?t|�dkst�|dj�}|d	d�}d
d�|D�}|red|d_|dk	s�|dk	s�|dk	r�|dk	r�|j|d
tt|���|dk	r�|j|dtt|���|dk	r�|j|d|�ttd�|�}	|j|	_|	S)NZbare�print�prefix��� z>>r�cSsg|]}|j��qS�)�clone)�.0�argrr�</opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_print.py�
<listcomp>?s	z&FixPrint.transform.<locals>.<listcomp>��sep�end�file���r)�AssertionError�get�replacerrr
Zchildren�len�parend_expr�matchrr�Leafr�
RIGHTSHIFTr�	add_kwargr	�repr)
�selfZnodeZresultsZ
bare_print�argsrrrZl_argsZn_stmtrrr�	transform%s>
%%
$zFixPrint.transformcCsod|_tj|jjt|�tjtjd�|f�}|r^|j	t
��d|_|j	|�dS)Nr�=r)r
rZNodeZsymsZargumentrr#r�EQUAL�appendr)r'Zl_nodesZs_kwdZn_exprZ
n_argumentrrrr%Ms			zFixPrint.add_kwargN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr)r%rrrrrs(rN)�__doc__rrrZpgen2rrZ
fixer_utilrrrr	r
Zcompile_patternr!ZBaseFixrrrrr�<module>s(	

?>