Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/lib2to3/fixes/fix_except.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^c@s�dZddlmZddlmZddlmZddlmZmZm	Z	m
Z
mZmZd�Z
dejfd��YZd	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(tpytree(ttoken(t
fixer_base(tAssigntAttrtNametis_tupletis_listtsymsccsbx[t|�D]M\}}|jtjkr
|jdjdkrZ|||dfVqZq
q
WdS(Niuexcepti(t	enumeratettypeRt
except_clausetchildrentvalue(tnodestitn((s./sys/lib/python2.7/lib2to3/fixes/fix_except.pytfind_exceptsst	FixExceptcBseZeZdZd�ZRS(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)]) >
    cCs,|j}g|dD]}|j�^q}g|dD]}|j�^q7}x�t|�D]�\}}	t|j�dkr\|jdd!\}
}}|jtddd��|jtj	kr�t|j
�dd�}
|j�}d|_|j|
�|
j�}
|	j}x0t|�D]"\}}t
|tj�rPqqWt|�s[t|�r|t|t|
td	���}nt||
�}x(t|| �D]}|	jd
|�q�W|	j||�q�jdkr�|_q�\q\Wg|jd D]}|j�^q�|}tj|j|�S(Nttailtcleanupiiuastprefixu uuargsii(RtcloneRtlenRtreplaceRR
RtNAMEtnew_nameRR	t
isinstanceRtNodeRRRRtreversedtinsert_child(tselftnodetresultsRRRtchttry_cleanupRte_suitetEtcommatNtnew_Nttargettsuite_stmtsRtstmttassigntchildtcR((s./sys/lib/python2.7/lib2to3/fixes/fix_except.pyt	transform/s6	##	
	!.(t__name__t
__module__tTruet
BM_compatibletPATTERNR/(((s./sys/lib/python2.7/lib2to3/fixes/fix_except.pyR$sN(t__doc__tRtpgen2RRt
fixer_utilRRRRRRRtBaseFixR(((s./sys/lib/python2.7/lib2to3/fixes/fix_except.pyt<module>s.	

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].