Şuanki Dizin: /usr/lib64/python3.9/lib2to3/fixes/__pycache__/ |
Şuanki Dosya : //usr/lib64/python3.9/lib2to3/fixes/__pycache__/fix_except.cpython-39.opt-1.pyc |
a �DOg � @ sf d Z ddlmZ ddlmZ ddlmZ ddlmZmZm Z m Z mZmZ dd� Z G dd � d ej�Zd S )a� Fixer for except statements with named exceptions. The following cases will be converted: - "except E, T:" where T is a name: except E as T: - "except E, T:" where T is not a name, tuple or list: except E as t: T = t This is done because the target of an "except" clause must be a name. - "except E, T:" where T is a tuple or list literal: except E as t: T = t.args � )�pytree)�token)� fixer_base)�Assign�Attr�Name�is_tuple�is_list�symsc c sD t | �D ]6\}}|jtjkr|jd jdkr|| |d fV qd S )N� �exceptr )� enumerate�typer � except_clause�children�value)Znodes�i�n� r �0/usr/lib64/python3.9/lib2to3/fixes/fix_except.py�find_excepts s r c @ s e Zd ZdZdZdd� ZdS )� FixExceptTa1 try_stmt< 'try' ':' (simple_stmt | suite) cleanup=(except_clause ':' (simple_stmt | suite))+ tail=(['except' ':' (simple_stmt | suite)] ['else' ':' (simple_stmt | suite)] ['finally' ':' (simple_stmt | suite)]) > c C sx | j }dd� |d D �}dd� |d D �}t|�D �]\}}t|j�dkr2|jdd� \}} } | �tdd d �� | jtjk�r8t| � � d d �}| � � }d|_| �|� |� � }|j} t| �D ]\}}t |tj�r� q�q�t| �s�t| �r�t|t|td���}n t||�}t| d |� �D ]}|�d |� �q|�||� q2| jdkr2d | _q2dd� |jd d� D �| | }t�|j|�S )Nc S s g | ]}|� � �qS r ��clone)�.0r r r r � <listcomp>2 � z'FixExcept.transform.<locals>.<listcomp>�tailc S s g | ]}|� � �qS r r )r Zchr r r r 4 r �cleanup� � �as� )�prefix� �argsr c S s g | ]}|� � �qS r r )r �cr r r r \ r � )r r �lenr �replacer r r �NAME�new_namer r# r � isinstancer ZNoder r r r �reversedZinsert_child)�selfZnode�resultsr r Ztry_cleanupr Ze_suite�EZcomma�NZnew_N�targetZsuite_stmtsr ZstmtZassign�childr r r r � transform/ s6 zFixExcept.transformN)�__name__� __module__�__qualname__Z BM_compatibleZPATTERNr4 r r r r r $ s r N)�__doc__r$ r Zpgen2r r Z fixer_utilr r r r r r r ZBaseFixr r r r r �<module> s
Linux 65-254-81-4.cprapid.com 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 05:49:00 EDT 2023 x86_64
Apache
65.254.81.4