ok

Mini Shell

Direktori : /opt/alt/python35/lib64/python3.5/lib2to3/fixes/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/lib2to3/fixes/__pycache__/fix_exitfunc.cpython-35.pyc



K�Ma�	�@sgdZddlmZmZddlmZmZmZmZm	Z	m
Z
Gdd�dej�ZdS)z7
Convert use of sys.exitfunc to use the atexit module.
�)�pytree�
fixer_base)�Name�Attr�Call�Comma�Newline�symscsReZdZdZdZdZ�fdd�Z�fdd�Zdd�Z�S)	�FixExitfuncTa�
              (
                  sys_import=import_name<'import'
                      ('sys'
                      |
                      dotted_as_names< (any ',')* 'sys' (',' any)* >
                      )
                  >
              |
                  expr_stmt<
                      power< 'sys' trailer< '.' 'exitfunc' > >
                  '=' func=any >
              )
              cstt|�j|�dS)N)�superr
�__init__)�self�args)�	__class__��?/opt/alt/python35/lib64/python3.5/lib2to3/fixes/fix_exitfunc.pyrszFixExitfunc.__init__cs&tt|�j||�d|_dS)N)rr
�
start_tree�
sys_import)r
Ztree�filename)rrrr!szFixExitfunc.start_treecCs�d|kr,|jdkr(|d|_dS|dj�}d|_tjtjttd�td���}t	||g|j�}|j
|�|jdkr�|j|d�dS|jjd}|j
tjkr|jt��|jtdd��n�|jj}|jj|j�}|j}	tjtjtd	�tdd�g�}
tjtj|
g�}|j|dt��|j|d
|�dS)Nr�func��atexit�registerzKCan't find sys import; Please add an atexit import at the top of your file.�� �import�)rZclone�prefixrZNoder	Zpowerrrr�replaceZwarningZchildren�typeZdotted_as_namesZappend_childr�parent�indexZimport_nameZsimple_stmtZinsert_childr)r
ZnodeZresultsrrZcall�namesZcontaining_stmtZpositionZstmt_containerZ
new_import�newrrr�	transform%s2
	
	zFixExitfunc.transform)	�__name__�
__module__�__qualname__Zkeep_line_orderZ
BM_compatibleZPATTERNrrr$rr)rrr
sr
N)
�__doc__Zlib2to3rrZlib2to3.fixer_utilrrrrrr	ZBaseFixr
rrrr�<module>s.

Zerion Mini Shell 1.0