Current Dir: /snap/core22/2437/usr/lib/python3.10/lib2to3/fixes/__pycache__/
[FILE] fix_apply.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_asserts.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_basestring.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_buffer.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_dict.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_except.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_exec.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_execfile.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_exitfunc.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_filter.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_funcattrs.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_future.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_getcwdu.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_has_key.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_idioms.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_import.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_imports.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_imports2.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_input.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_intern.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_isinstance.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_itertools.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_itertools_imports.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_long.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_map.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_metaclass.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_methodattrs.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_ne.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_next.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_nonzero.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_numliterals.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_operator.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_paren.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_print.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_raise.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_raw_input.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_reduce.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_reload.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_renames.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_repr.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_set_literal.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_standarderror.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_sys_exc.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_throw.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_tuple_params.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_types.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_unicode.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_urllib.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_ws_comma.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_xrange.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_xreadlines.cpython-310.pyc [ edit | delete | rename ]
[FILE] fix_zip.cpython-310.pyc [ edit | delete | rename ]
[FILE] __init__.cpython-310.pyc [ edit | delete | rename ]
Viewing: /snap/core22/2437/usr/lib/python3.10/lib2to3/fixes/__pycache__/fix_except.cpython-310.pyc
o
��bc
� @ 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 sF � t | �D ]\}}|jtjkr |jd jdkr || |d fV qd S )N� �exceptr )� enumerate�typer
�
except_clause�children�value)�nodes�i�n� r �//usr/lib/python3.10/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 sr | j }dd� |d D �}dd� |d D �}t|�D ]�\}}t|j�dkr�|jdd� \}} }
| �tdd d
�� |
jtjkr�t| � � d d
�}|
�
� }d|_|
�|� |�
� }|j}
t|
�D ]\}}t
|tj�rh nq\t|
�sqt|
�r|t|t|td���}nt||�}t|
d |� �D ]}|�d
|� q�|�||� q|
jdkr�d |
_qdd� |jd d� D �| | }t�|j|�S )Nc S � g | ]}|� � �qS r ��clone)�.0r r r r �
<listcomp>2 � z'FixExcept.transform.<locals>.<listcomp>�tailc S r r r )r �chr r r r 4 r �cleanup� � �as� )�prefix� �argsr c S r r r )r �cr r r r \ r � )r
r �lenr �replacer r r �NAME�new_namer r&