B ¿öYAã@s dZddlmZddlZddlZddlmZddlmZm Z dZ Gdd„de ƒZ e ed ƒrdd d „Znd d „ZGd d„de ƒZGdd„de ƒZGdd„de ƒZdS)z– raven.events ~~~~~~~~~~~~ :copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. é)Úabsolute_importN)Ú to_unicode)Úget_stack_infoÚiter_traceback_frames)Ú BaseEventÚ ExceptionÚMessageÚQueryc@s,eZdZdd„Zdd„Zdd„Zdd„Zd S) rcCs||_t t¡|_dS)N)ÚclientÚloggingÚ getLoggerÚ__name__Úlogger)Úselfr ©rú=/opt/alt/python37/lib/python3.7/site-packages/raven/events.pyÚ__init__szBaseEvent.__init__cCst‚dS)N)ÚNotImplementedError)rÚdatarrrÚ to_stringszBaseEvent.to_stringcKsiS)Nr)rÚkwargsrrrÚcaptureszBaseEvent.capturecCs |j |¡S)N)r Ú transform)rÚvaluerrrr szBaseEvent.transformN)r Ú __module__Ú __qualname__rrrrrrrrrsrÚ__suppress_context__ccsn|V|\}}}tƒ}| |¡xH|jr0|j}n|j}||kr@P| |¡|dkrTPt|ƒ||jfVq"WdS)z Return a generator iterator over an exception's chain. The exceptions are yielded from outermost to innermost (i.e. last to first when viewing a stack trace). N)ÚsetÚaddrÚ __cause__Ú __context__ÚtypeÚ __traceback__)Úexc_infoÚexc_typeÚexcÚ exc_tracebackÚcontextrrrÚ_chained_exceptions(s   r(ccs |VdS)Nr)r#rrrr(Csc@s.eZdZdZdZdd„Zdd„Zd dd „ZdS) rzì Exceptions store the following metadata: - value: 'My exception value' - type: 'ClassName' - module '__builtin__' (i.e. __builtin__.TypeError) - frames: a list of serialized frames (see _get_traceback_frames) Ú exceptioncCs6||jdd}|dr.d|d|dfS|dS)NÚvalueséÿÿÿÿrz%s: %sr!)Úname)rrr%rrrrTszException.to_stringcCsVtt|ƒ|j|jjd�}t|ddƒ}|r0t|ƒ}t|ddƒ}t|ƒt|ƒt|ƒ|dœS)zH Convert exception info to a value for the values list. )Z transformerÚcapture_localsrNr z )rr!ÚmoduleZ stacktrace)rrrr r-ÚgetattrÚstrr)rr$Ú exc_valuer&Ú stack_infoZ exc_modulerrrÚ _get_valueZs   zException._get_valueNcKsh|r |dkrt ¡}|s tdƒ‚g}x&t|ƒD]}|j|Ž}| d|¡q.Wd| dtj¡|j d|iiS)NTzNo exception foundrÚlevelr*) Úsysr#Ú ValueErrorr(r3ÚinsertÚgetr ÚERRORr,)rr#rr*rrrrrps  zException.capture)N)r rrÚ__doc__r,rr3rrrrrrGs  rc@s&eZdZdZdZdd„Zd dd„ZdS) rz{ Messages store the following metadata: - message: 'My message from %s about %s' - params: ('foo', 'bar') zsentry.interfaces.MessagecCs||jdS)NÚmessage)r,)rrrrrrŒszMessage.to_stringrNcKs8t|ƒ}|j|| |¡|dœi}d|kr4|p.||d<|S)N)r;ÚparamsÚ formattedr;)rr,r)rr;r<r=rrrrrr�s  zMessage.capture)rN)r rrr:r,rrrrrrr‚src@s$eZdZdZdZdd„Zdd„ZdS)r zw Messages store the following metadata: - query: 'SELECT * FROM table' - engine: 'postgesql_psycopg2' zsentry.interfaces.QuerycCs||j}|dS)NÚquery)r,)rrZsqlrrrr§s zQuery.to_stringcKs|jt|ƒt|ƒdœiS)N)r>Úengine)r,rr0)rr>r?rrrrr«sz Query.captureN)r rrr:r,rrrrrrr �sr )r:Ú __future__rr r5Zraven.utils.encodingrZraven.utils.stacksrrÚ__all__ÚobjectrÚhasattrrr(rr rrrrÚs    ;