a
´i
ã @ sb d dl mZ d dlmZ d dl mZ d dlmZmZmZm Z m
Z
mZ dd„ ZG dd„ dej
ƒZd S )
é )Ú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 Ú