????

Your IP : 13.59.96.255


Current Path : /proc/self/root/lib/python3.6/site-packages/libfuturize/fixes/__pycache__/
Upload File :
Current File : //proc/self/root/lib/python3.6/site-packages/libfuturize/fixes/__pycache__/fix_print.cpython-36.pyc

3

�c)�@s\dZddlmZmZmZddlmZddlmZm	Z	m
Z
mZejd�Z
Gdd�dej�ZdS)	a,Fixer for print.

Change:
    "print"          into "print()"
    "print ..."      into "print(...)"
    "print(...)"     not changed
    "print ... ,"    into "print(..., end=' ')"
    "print >>x, ..." into "print(..., file=x)"

No changes are applied if print_function is imported from __future__

�)�patcomp�pytree�
fixer_base)�token)�Name�Call�Comma�Stringz8atom< '(' [arith_expr|atom|power|term|STRING|NAME] ')' >c@s$eZdZdZdZdd�Zdd�ZdS)�FixPrintTzP
              simple_stmt< any* bare='print' any* > | print_stmt
              cCs�|st�|jd�}|r4|jttd�g|jd��dS|jdtd�ksJt�|jdd�}t|�dkrvtj	|d�rvdSd}}}|r�|dt
�kr�|dd�}d}dd�|dj�D�}|r�|djdd	kr�|djdd�dkr�d}|�r2|dt
jtjd�k�r2t|�dk�st�|dj�}|d
d�}dd�|D�}	|	�rPd|	d_|dk	�sn|dk	�sn|dk	�r�|dk	�r�|j|	dtt|���|dk	�r�|j|	dtt|���|dk	�r�|j|	d|�ttd�|	�}
|j|
_|
S)NZbare�print)�prefixr�� cSsg|]}|jtjkr|�qS�)�typer�STRING)�.0Zleafrr�/usr/lib/python3.6/fix_print.py�
<listcomp>?sz&FixPrint.transform.<locals>.<listcomp>�r��\t�\n�\r�z>>�cSsg|]}|j��qSr)�clone)r�argrrrrKs�sep�end�file���r!r!r!r!���r!)rrr)�AssertionError�get�replacerrrZchildren�len�parend_expr�matchrZleaves�valuer�Leafr�
RIGHTSHIFTr�	add_kwargr	�repr)�selfZnode�resultsZ
bare_print�argsrrr Z
string_leavesZl_argsZn_stmtrrr�	transform$sH




zFixPrint.transformcCsNd|_tj|jjt|�tjtjd�|f�}|r@|j	t
��d|_|j	|�dS)Nr�=r)rrZNodeZsymsZargumentrr*r�EQUAL�appendr)r.Zl_nodesZs_kwdZn_exprZ
n_argumentrrrr,^s
zFixPrint.add_kwargN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr1r,rrrrr
s:r
N)�__doc__Zlib2to3rrrZ
lib2to3.pgen2rZlib2to3.fixer_utilrrrr	Zcompile_patternr'ZBaseFixr
rrrr�<module>s