î
j fÆ ã @ sy d Z d d l m Z d d l m Z m Z m Z m Z m Z m Z m
Z
m Z m Z m
Z
Gd d „ d e j ƒ Z d S)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( e Z d Z d Z d Z d d „ Z d S)ÚFixExecfileTz«
power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
|
power< 'execfile' trailer< '(' filename=any ')' > >
c C sš | d } | j d ƒ } | j d ƒ } | j d j d j ƒ } t | j ƒ g d | ƒ} t t j t d ƒ | g ƒ } t t j t ƒ t d ƒ g ƒ t t j t
ƒ t ƒ g ƒ g } | g | }
| j ƒ } d | _ t
d d ƒ } |
t ƒ | t ƒ | g }
t t d
ƒ |
d ƒ } | g } | d k rS| j t ƒ | j ƒ g ƒ n | d k r~| j t ƒ | j ƒ g ƒ n t t d ƒ | d
| j ƒS)NÚfilenameÚglobalsÚlocalsé ZrparenÚopenÚreadú z'exec'ÚcompileÚ ÚexecÚprefixéÿÿÿÿr )ÚgetZchildrenZcloner
r r Zpowerr Ztrailerr r r r r r r Úextend)ÚselfZnodeZresultsr r r Zexecfile_parenZ open_argsZ open_callr Z open_exprZfilename_argZexec_strZcompile_argsZcompile_callÚargs© r ú?/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_execfile.pyÚ transform s(
!
zFixExecfile.transformN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleZPATTERNr r r r r r
s r
N)Ú__doc__r r Z
fixer_utilr r r r r r r r
r r ZBaseFixr
r r r r Ú