ž zyMaΑ c@sgdZddlmZmZddlmZmZmZmZm Z m Z Gdd„dej ƒZ dS(u7 Convert use of sys.exitfunc to use the atexit module. i(upytreeu fixer_base(uNameuAttruCalluCommauNewlineusymscsV|EeZdZdZdZdZ‡fdd†Z‡fdd†Zdd„Z ‡S( u FixExitfuncu” ( sys_import=import_name<'import' ('sys' | dotted_as_names< (any ',')* 'sys' (',' any)* > ) > | expr_stmt< power< 'sys' trailer< '.' 'exitfunc' > > '=' func=any > ) cstt|ƒj|ŒdS(N(usuperu FixExitfuncu__init__(uselfuargs(u __class__(u?/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exitfunc.pyu__init__suFixExitfunc.__init__cs&tt|ƒj||ƒd|_dS(N(usuperu FixExitfuncu start_treeuNoneu sys_import(uselfutreeufilename(u __class__(u?/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exitfunc.pyu start_tree!suFixExitfunc.start_treec 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( Nu sys_importufuncuuatexituregisteruKCan't find sys import; Please add an atexit import at the top of your file.iu uimporti(u sys_importuNoneucloneuprefixupytreeuNodeusymsupoweruAttruNameuCallureplaceuwarninguchildrenutypeudotted_as_namesu append_childuCommauparentuindexu import_nameu simple_stmtu insert_childuNewline( uselfunodeuresultsufuncuregisterucallunamesucontaining_stmtupositionustmt_containeru new_importunew((u?/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exitfunc.pyu transform%s2       uFixExitfunc.transformT( u__name__u __module__u __qualname__uTrueukeep_line_orderu BM_compatibleuPATTERNu__init__u start_treeu transform(u __locals__((u __class__u?/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exitfunc.pyu FixExitfunc s u FixExitfuncN( u__doc__ulib2to3upytreeu fixer_baseulib2to3.fixer_utiluNameuAttruCalluCommauNewlineusymsuBaseFixu FixExitfunc(((u?/opt/alt/python33/lib64/python3.3/lib2to3/fixes/fix_exitfunc.pyus.