Hacked By AnonymousFox
�
{fc @ s� d Z d d l m Z d d l m Z d d l m Z d d l m Z m Z m Z m
Z
m Z m Z d � Z
d e j f d � � YZ d S(
s� 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
i ( t pytree( t token( t
fixer_base( t Assignt Attrt Namet is_tuplet is_listt symsc c sb x[ t | � D]M \ } } | j t j k r
| j d j d k rZ | | | d f VqZ q
q
Wd S( Ni u excepti ( t enumeratet typeR t
except_clauset childrent value( t nodest it n( ( s0 /usr/lib64/python2.7/lib2to3/fixes/fix_except.pyt find_excepts s t FixExceptc B s e Z e Z d Z d � Z RS( s1
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 s, | j } g | d D] } | j � ^ q } g | d D] } | j � ^ q7 } x�t | � D]�\ } } t | j � d k r\ | j d d !\ }
} } | j t d d d �� | j t j k r�t | j
� d d �}
| j � } d | _ | j |
� |
j � }
| j } x0 t | � D]"