Anons79 Mini Shell

Directory : /proc/self/root/lib/python2.7/site-packages/libfuturize/fixes/
Upload File :
Current File : //proc/self/root/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyo

�
,�]c@s�dZddlmZmZddlmZddlmZmZm	Z	m
Z
mZmZddl
mZdejfd��YZdS(	s�Fixer for 'raise E, V'

From Armin Ronacher's ``python-modernize``.

raise         -> raise
raise E       -> raise E
raise E, 5    -> raise E(5)
raise E, 5, T -> raise E(5).with_traceback(T)
raise E, None, T -> raise E.with_traceback(T)

raise (((E, E'), E''), E'''), 5 -> raise E(5)
raise "foo", V, T               -> warns about string exceptions

raise E, (V1, V2) -> raise E(V1, V2)
raise E, (V1, V2), T -> raise E(V1, V2).with_traceback(T)


CAVEATS:
1) "raise E, V, T" cannot be translated safely in general. If V
   is not a tuple or a (number, string, None) literal, then:

   raise E, V, T -> from future.utils import raise_
                    raise_(E, V, T)
i����(tpytreet
fixer_base(ttoken(tNametCalltis_tupletCommatAttrtArgList(ttouch_import_toptFixRaisecBseZeZdZd�ZRS(sB
    raise_stmt< 'raise' exc=any [',' val=any [',' tb=any]] >
    cCsA|j}|dj�}|jtjkrEd}|j||�dSt|�r�x*t|�r}|jdjdj�}qTWd|_nd|kr�|dj�}nd}d|kr�|dj�}t|�rg|jdd!D]}|j�^q�}	t
||	�}q�|jtjtjfkrKd	|_t
||g�}q�|jtjkro|j
d
kroq�tdd|�d	|_|t�|g}	|dk	r�|	t�|g7}	nt
td�|	�Sn|dk	rd
|_t|td��t|g�g}
n	|g}
tj|jtd�g|
d|j�S(Ntexcs+Python 3 does not support string exceptionsiiu ttbtvali����uuNoneufuture.utilsuraise_ttwith_tracebackuraisetprefix(tsymstclonettypeRtSTRINGtcannot_convertRtchildrenRtNoneRtNUMBERtNAMEtvalueR	RRRRRtNodet
raise_stmt(tselftnodetresultsRRtmsgRR
tctargstexc_list((s?/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyt	transform*sH	)	!			(	(t__name__t
__module__tTruet
BM_compatibletPATTERNR$(((s?/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyR
#sN(t__doc__tlib2to3RRt
lib2to3.pgen2Rtlib2to3.fixer_utilRRRRRRtlibfuturize.fixer_utilR	tBaseFixR
(((s?/usr/lib/python2.7/site-packages/libfuturize/fixes/fix_raise.pyt<module>s
.

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]