Rj/ d Z ddlmZmZmZ ddlmZ ddlmZm Z m Z mZ ej d Z G d 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__ )patcomppytree fixer_base)token)NameCallCommaStringz8atom< '(' [arith_expr|atom|power|term|STRING|NAME] ')' >c " e Zd ZdZdZd Zd ZdS )FixPrintTzP simple_stmt< any* bare='print' any* > | print_stmt c |sJ | d }|r9| t t d g |j d S |j d t d k sJ |j dd }t | dk r"t |d rd 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 dv rd}|rb|d t j t j d k r9t | dk sJ |d }|dd }d |D } | r d| d _ ||||1| | dt% t' | |1| | dt% t' | || | d| t t d | } |j | _ | S )Nbareprint)prefixr c <