Your IP : 3.15.10.104


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_execfile.cpython-35.opt-1.pyc



��Yf��@sydZddlmZddlmZmZmZmZmZm	Z	m
Z
mZmZm
Z
Gdd�dej�ZdS)zoFixer for execfile.

This converts usages of the execfile function into calls to the built-in
exec() function.
�)�
fixer_base)
�Comma�Name�Call�LParen�RParen�Dot�Node�ArgList�String�symsc@s(eZdZdZdZdd�ZdS)�FixExecfileTz�
    power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
    |
    power< 'execfile' trailer< '(' filename=any ')' > >
    cCs�|d}|jd�}|jd�}|jdjdj�}t|j�gd|�}ttjtd�|g�}ttjt	�td�g�ttjt
�t�g�g}	|g|	}
|j�}d|_t
d	d�}|
t�|t�|g}
ttd
�|
d�}|g}|dk	rP|jt�|j�g�|dk	rx|jt�|j�g�ttd�|d
|j�S)N�filename�globals�locals�Zrparen�open�read� z'exec'�compile��exec�prefix���r)�getZchildrenZcloner
r	rZpowerrZtrailerrrrrrrr�extend)�selfZnodeZresultsrrrZexecfile_parenZ	open_argsZ	open_callrZ	open_exprZfilename_argZexec_strZcompile_argsZcompile_call�args�r�?/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_execfile.py�	transforms(
!
		zFixExecfile.transformN)�__name__�
__module__�__qualname__Z
BM_compatibleZPATTERNr rrrrr
sr
N)�__doc__rrZ
fixer_utilrrrrrrr	r
rrZBaseFixr
rrrr�<module>sF

?>