� {fc@sgdZddlmZmZddlmZmZmZmZm Z m Z dej fd��YZ dS(s7 Convert use of sys.exitfunc to use the atexit module. i����(tpytreet fixer_base(tNametAttrtCalltCommatNewlinetsymst FixExitfunccBs5eZeZeZdZd�Zd�Zd�ZRS(s� ( sys_import=import_name<'import' ('sys' | dotted_as_names< (any ',')* 'sys' (',' any)* > ) > | expr_stmt< power< 'sys' trailer< '.' 'exitfunc' > > '=' func=any > ) cGstt|�j|�dS(N(tsuperRt__init__(tselftargs((s2/usr/lib64/python2.7/lib2to3/fixes/fix_exitfunc.pyR scCs&tt|�j||�d|_dS(N(R Rt start_treetNonet sys_import(R ttreetfilename((s2/usr/lib64/python2.7/lib2to3/fixes/fix_exitfunc.pyR !sc Cs�d|kr/|jdkr+|d|_ndS|dj�}d|_tjtjtt d�t d���}t ||g|j�}|j |�|jdkr�|j |d�dS|jj d}|jtjkr|jt��|jt dd��n�|jj}|j j|j�}|j} tjtjt d �t dd�g�} tjtj| g�} |j|dt��|j|d | �dS( NRtfuncuuatexituregistersKCan't find sys import; Please add an atexit import at the top of your file.iu uimporti(RRtclonetprefixRtNodeRtpowerRRRtreplacetwarningtchildrenttypetdotted_as_namest append_childRtparenttindext import_namet simple_stmtt insert_childR( R tnodetresultsRtregistertcalltnamestcontaining_stmttpositiontstmt_containert new_importtnew((s2/usr/lib64/python2.7/lib2to3/fixes/fix_exitfunc.pyt transform%s2       ( t__name__t __module__tTruetkeep_line_ordert BM_compatibletPATTERNR R R,(((s2/usr/lib64/python2.7/lib2to3/fixes/fix_exitfunc.pyR s   N( t__doc__tlib2to3RRtlib2to3.fixer_utilRRRRRRtBaseFixR(((s2/usr/lib64/python2.7/lib2to3/fixes/fix_exitfunc.pyts.