
    4pf)                         d Z ddlmZmZ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ej                  ZdS )	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                   "    e Zd ZdZdZd Zd ZdS )FixPrintTzP
              simple_stmt< any* bare='print' any* > | print_stmt
              c           	         |sJ |                     d          }|r9|                    t          t          d          g |j                             d S |j        d         t          d          k    sJ |j        dd          }t          |          dk    r"t                              |d                   rd S d x}x}}|rz|d         t                      k    rb|d d         }d}d |d         
                                D             }|r0|d         j        d         d	k    r|d         j        d
d         dv rd}|rb|d         t          j        t          j        d          k    r9t          |          dk    sJ |d                                         }|dd          }d |D             }	|	rd|	d         _        ||||1|                     |	dt%          t'          |                               |1|                     |	dt%          t'          |                               ||                     |	d|           t          t          d          |	          }
|j        |
_        |
S )Nbareprint)prefixr       c                 <    g | ]}|j         t          j        k    |S  )typer   STRING).0leafs     [/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/libfuturize/fixes/fix_print.py
<listcomp>z&FixPrint.transform.<locals>.<listcomp>?   s(    ]]]d49PUP\C\C\TC\C\C\    r)z\tz\nz\r z>>      c                 6    g | ]}|                                 S r   )clone)r   args     r   r   z&FixPrint.transform.<locals>.<listcomp>K   s     ...##))++...r   sependfile)getreplacer   r   r   childrenlenparend_exprmatchr	   leavesvaluer   Leafr   
RIGHTSHIFTr#   	add_kwargr
   repr)selfnoderesults
bare_printargsr%   r&   r'   string_leavesl_argsn_stmts              r   	transformzFixPrint.transform$   s}   [[((
 	tDNNB&0&7 9  9  9 : : :
 F}Q4>>1111}QRR t99>>k//Q88> FcD 	DH''9DC ^]d2hoo.?.?]]]M!"%+A.#55!"%+BrE26KKK 	DGv{5+;UCCCCt99>>>>7==??D8D..... 	#"F1I?co1Avvvd3ii/@/@AAAvvvd3ii/@/@AAAvw555d8nnf-- r   c                 *   d|_         t          j        | j        j        t          |          t          j        t          j        d          |f          }|r(|	                    t                                 d|_         |	                    |           d S )Nr   =r   )r   r   Nodesymsargumentr   r0   r   EQUALappendr	   )r4   l_nodess_kwdn_expr
n_arguments        r   r2   zFixPrint.add_kwarg^   s    [!3"&u++"(+ek4"@"@"("*+ +
  	%NN577### $Jz"""""r   N)__name__
__module____qualname__BM_compatiblePATTERNr<   r2   r   r   r   r   r      s?        MG8 8 8t
# 
# 
# 
# 
#r   r   N)__doc__lib2to3r   r   r   lib2to3.pgen2r   lib2to3.fixer_utilr   r   r	   r
   compile_patternr,   BaseFixr   r   r   r   <module>rS      s     0 / / / / / / / / /       8 8 8 8 8 8 8 8 8 8 8 8 &g%L 
L# L# L# L# L#z! L# L# L# L# L#r   