
    FwgK                     Z    d Z ddlmZ ddlmZmZmZmZmZ  G d dej                        Z
y)z;Fixer for 'raise E(V).with_traceback(T)' -> 'raise E, V, T'    )
fixer_base)CommaNodeLeaftokensymsc                       e Zd ZdZd Zy)FixRaisez
    raise_stmt< 'raise' (power< name=any [trailer< '(' val=any* ')' >]
        [trailer< '.' 'with_traceback' > trailer< '(' trc=any ')' >] > | any) ['from' chain=any] >c                 v   |j                  d      |j                  d      |j                  d      }}}|j                  d      }|<| j                  |d       |j                  j                          |j                          ||r|d   nt	        t
        j                  d      }dx|_        |_        t	        t
        j                  d	      |j                         t               |j                         t               |j                         g}t        t        j                  |      }|j                  |       y y )
Nnamevaltrcchainz8explicit exception chaining is not supported in Python 2r   None raise)getwarningprev_siblingremover   r   NAMEprefixcloner   r   r   
raise_stmtreplace)	selfnoderesultsr   r   r   r   kidsr   s	            T/var/www/horilla/myenv/lib/python3.12/site-packages/libpasteurize/fixes/fix_raise.py	transformzFixRaise.transform   s    !++g.F0CW[[QWEX3cH%LLZ[%%'LLN?#a&T%**g%>C&**CJX.

egIIK#))+7Ddoot4JLL$     N)__name__
__module____qualname__PATTERNr!    r"   r    r
   r
      s    fG%r"   r
   N)__doc__lib2to3r   lib2to3.fixer_utilr   r   r   r   r   BaseFixr
   r'   r"   r    <module>r,      s#    B  = =%z!! %r"   