bg@xdZddlmZmZddlmZddlmZmZm Z m Z m Z m Z ddl mZGddejZdS) aFixer 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) )pytree fixer_base)token)NameCallis_tupleCommaAttrArgList)touch_import_topceZdZdZdZdZdS)FixRaiseTzB raise_stmt< 'raise' exc=any [',' val=any [',' tb=any]] > c|j}|d}|jtjkrd}|||dSt |rOt |r9|jdjd}t |9d|_d|vr|d}nd}d|vr|d}t |r*d|jdd D}t||}n|jtj tjfvrd |_t||g}n|jtj kr |j d krnbtd d |d |_|t|g}||t|gz }ttd ||jS|7d |_t!|tdt#|ggz} n|g} t%j|jtdg| z|jS)Nexcz+Python 3 does not support string exceptionsr tbvalc6g|]}|S)clone).0cs l/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/libfuturize/fixes/fix_raise.py z&FixRaise.transform..Is >>>a >>>Nonez future.utilsraise_)prefixwith_tracebackraise)symsrtyperSTRINGcannot_convertrchildrenr!rNUMBERNAMEvaluer r rr r rNode raise_stmt) selfnoderesultsr$rmsgrrargsexc_lists r transformzFixRaise.transform*sFyen""$$ 8u| # #?C   c * * * F C== 3-- :l1o.q177993-- :CJ 7??$$&&BBB G  %.&&((C}} G>>3<"+=>>>3ooelEL999! 3&&UZ''CI,@,@!)TBBB  UWWc*>UWWbM)DDOOT$+FFFF >BIC&6!7!788GRDMM?JHHuH{4? NN+h6"&+/// /rN)__name__ __module__ __qualname__ BM_compatiblePATTERNr4rrrrr#s4MGA/A/A/A/A/rrN)__doc__lib2to3rr lib2to3.pgen2rlib2to3.fixer_utilrrrr r r libfuturize.fixer_utilr BaseFixrrrrr@s6'&&&&&&&IIIIIIIIIIIIIIII333333H/H/H/H/H/z!H/H/H/H/H/r