관리-도구
편집 파일: fix_print.cpython-39.pyc
a �9i) � @ s\ d Z ddlmZmZmZ ddlmZ ddlmZm Z m Z mZ e�d�Z G dd� 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$ 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}dd � |d � � D �}|r�|d jd d kr�|d jdd� dv r�d }|�r2|d t� tjd�k�r2t|�dk�sJ �|d �� }|dd � }dd � |D �} | �rPd | d _|d u�sn|d u�sn|d u�r�|d u�r�| �| dtt|��� |d u�r�| �| dtt|��� |d u�r�| �| d|� ttd�| �} |j| _| S )NZbare�print)�prefixr � ���� c S s g | ]}|j tjkr|�qS � )�typer �STRING)�.0Zleafr r �E/usr/local/lib/python3.9/site-packages/libfuturize/fixes/fix_print.py� <listcomp>? � z&FixPrint.transform.<locals>.<listcomp>�r���)z\tz\nz\r� z>>� � c S s g | ]}|� � �qS r )�clone)r �argr r r r K r �sep�end�file)�get�replacer r r �children�len�parend_expr�matchr Zleaves�valuer �Leafr � RIGHTSHIFTr � add_kwargr �repr)�self�node�resultsZ bare_print�argsr r r Z string_leavesZl_argsZn_stmtr r r � transform$ sP ���� zFixPrint.transformc C sN d|_ t�| jjt|�t�tjd�|f�}|r@|� t � � d|_ |� |� d S )Nr �=r )r r �NodeZsyms�argumentr r( r �EQUAL�appendr )r, Zl_nodesZs_kwdZn_exprZ n_argumentr r r r* ^ s ��zFixPrint.add_kwargN)�__name__� __module__�__qualname__Z BM_compatibleZPATTERNr0 r* r r r r r s :r N)�__doc__Zlib2to3r r r Z lib2to3.pgen2r Zlib2to3.fixer_utilr r r r �compile_patternr% ZBaseFixr r r r r �<module> s �