ó uŪļQc@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((s0/sys/lib/python2.7/lib2to3/fixes/fix_exitfunc.pyR scCs&tt|ƒj||ƒd|_dS(N(R Rt start_treetNonet sys_import(R ttreetfilename((s0/sys/lib/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((s0/sys/lib/python2.7/lib2to3/fixes/fix_exitfunc.pyt transform%s2       ( t__name__t __module__tTruetkeep_line_ordert BM_compatibletPATTERNR R R,(((s0/sys/lib/python2.7/lib2to3/fixes/fix_exitfunc.pyR s   N( t__doc__tlib2to3RRtlib2to3.fixer_utilRRRRRRtBaseFixR(((s0/sys/lib/python2.7/lib2to3/fixes/fix_exitfunc.pyts.