Your IP : 3.144.1.100


Current Path : /opt/alt/python27/lib/python2.7/site-packages/raven/
Upload File :
Current File : //opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyc

�
��Yc@@s�dZddlmZddlZddlmZmZddlmZde	fd��YZ
de
fd	��YZd
e
fd��YZde
fd
��YZ
dS(s�
raven.core.processors
~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
i(tabsolute_importN(tstring_typest	text_type(tvarmapt	ProcessorcB@s>eZd�Zd�Zd�Zd�Zd�Zd�ZRS(cC@s
||_dS(N(tclient(tselfR((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyt__init__scK@sdS(N((Rtdatatkwargs((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pytget_datascK@s�|j||�}|r!|}nd|kr�d|dkr�xA|djdg�D]&}d|krT|j|d�qTqTWq�nd|kr�|j|d�nd|kr�|j|d�|d<n|S(Nt	exceptiontvaluest
stacktracetrequesttextra(R
tgettfilter_stacktracetfilter_httptfilter_extra(RRR	tresptvalue((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pytprocesss	cC@sdS(N((RR((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR*scC@sdS(N((RR((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR-scC@s|S(N((RR((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR0s(t__name__t
__module__RR
RRRR(((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyRs					tRemovePostDataProcessorcB@seZdZd�ZRS(sRemoves HTTP post data.cK@s|jdd�dS(NR(tpoptNone(RRR	((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR7s(RRt__doc__R(((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR4stRemoveStackLocalsProcessorcB@seZdZd�ZRS(s1Removes local context variables from stacktraces.cK@s1x*|jdg�D]}|jdd�qWdS(Ntframestvars(RRR(RRR	tframe((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR>s(RRRR(((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR;stSanitizePasswordsProcessorc	B@steZdZdZeddddddd	d
g�Zejd�Zd�Z	d
�Z
d�Zd�Zd�Z
RS(s�
    Asterisk out things that look like passwords, credit card numbers,
    and API keys in frames, http, and basic extra data.
    t*itpasswordtsecrettpasswdt
authorizationtapi_keytapikeyt
sentry_dsntaccess_tokens^(?:\d[ -]*?){13,16}$cC@s�|dkrdSt|t�r8|jj|�r8|jS|sB|St|t�rf|jdd�}nt|�}|j	�}x$|j
D]}||kr�|jSq�W|S(Nsutf-8treplace(Rt
isinstanceRt	VALUES_REtmatchtMASKtbytestdecodeRtlowertFIELDS(RtkeyRtfield((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pytsanitizeVs!cC@sMxF|jdg�D]2}d|kr+qnt|j|d�|d<qWdS(NRR(RRR6(RRR ((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyRnscC@s�x�d
D]�}||krqnt||t�rzd||krz|dkrWd}nd}|j|||�||<qt|j||�||<|dkrd	||kr|j||d	d�||d	<qqWdS(NRtcookiestheaderstenvtquery_stringt=t;t&tCookie(RR7R8R9R:(R,Rt_sanitize_keyvalsRR6(RRtnt	delimiter((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyRts
#	cC@st|j|�S(N(RR6(RR((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR�scC@s�g}xh|j|�D]W}|jd�}t|�dkr`|j|d|j|�f�q|j|�qW|jd�|D��S(NR;iics@s|]}dj|�VqdS(R;N(tjoin(t.0tkeyval((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pys	<genexpr>�s(tsplittlentappendR6RB(RtkeyvalsRAtsanitized_keyvalsRD((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR?�s#s********(RRRR/t	frozensetR3tretcompileR-R6RRRR?(((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyR!Cs"				(Rt
__future__RRKtraven.utils.compatRRtraven.utilsRtobjectRRRR!(((sA/opt/alt/python27/lib/python2.7/site-packages/raven/processors.pyt<module>s$

?>