Viewing File: /opt/alt/python35/lib64/python3.5/lib2to3/fixes/__pycache__/fix_except.cpython-35.opt-2.pyc
й¼]
ã @ s‡ 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 d „ Z Gd d „ d e j
ƒ Z d S)
é )Úpytree)Útoken)Ú
fixer_base)ÚAssignÚAttrÚNameÚis_tupleÚis_listÚsymsc c s\ xU t | ƒ D]G \ } } | j t j k r
| j d j d k r
| | | d f Vq
Wd S)Né Úexceptr )Ú enumerateÚtyper
Ú
except_clauseÚchildrenÚvalue)ZnodesÚiÚn© r ú//opt/alt/python35/lib64/python3.5/fix_except.pyÚfind_excepts s r c @ s( e Z d Z d Z d Z d d „ Z d S)Ú 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 s | j } d d „ | d Dƒ } d d „ | d Dƒ } x™t | ƒ D]‹\ } } t | j ƒ d k rD | j d d … \ } } }
| j t d d d
ƒƒ |
j t j k r·t | j ƒ d d
ƒ} |
j
ƒ } d | _ |
j | ƒ | j
ƒ } | j }
x- t |
ƒ D] \ } } t
| t j ƒ rPqWt |
ƒ sCt |
ƒ rdt | t | t d ƒ ƒ ƒ } n t | | ƒ } x. t |
d | … ƒ D] } | j d
| ƒ qŠW| j | | ƒ qD |
j d k rD d
|
_ qD Wd d „ | j d d … Dƒ | | } t j | j | ƒ S)Nc S s g | ] } | j ƒ ‘ q Sr )Úclone)Ú.0r r r r ú
<listcomp>2 s z'FixExcept.transform.<locals>.<listcomp>Útailc S s g | ] } | j ƒ ‘ q Sr )r )r Zchr r r r 4 s Úcleanupé é ÚasÚprefixú Ú Úargsr c S s g | ] } | j ƒ ‘ q Sr )r )r Úcr r r r \ s é )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 ZstmtZassignZchildr r r r Ú transform/ s6
!
(zFixExcept.transformN)Ú__name__Ú
__module__Ú__qualname__Z
BM_compatibleZPATTERNr1 r r r r r $ s r N)r"