ó ¿öYc@@s–ddlmZddlZddlZddlZddlmZddlmZm Z m Z m Z ddl m Z gZiZejdƒZd„Zdefd „ƒYZd efd „ƒYZed „Zd „Zdddddddd„Zd„Zdd„Zd„Ze d„ƒZdd„Zd„Z d„Z!iZ"d„Z#e#dƒd„ƒZ$e#dƒd„ƒZ%d„Z&ddl'Z(dS(i(tabsolute_importN(t FunctionType(t iteritemstget_codet text_typet string_types(toncetravencC@sb|d|dkoa|d|dkoa|d|dkoa|d|dkoa|d|dkS(Nttypetleveltmessagetcategorytdata((tatb((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pytevent_payload_considered_equals tBreadcrumbBuffercB@sDeZdd„Zdddddddd„Zd„Zd„ZRS(idcC@sg|_||_dS(N(tbuffertlimit(tselfR((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pyt__init__s cC@s”|p|p|s!tdƒ‚n|dkr<tjƒ}n|jji|pQdd6|d6|d6|d6|d6|d6|fƒ|j|j 4dS( Ns6You must pass either `message`, `data`, or `processor`tdefaultRt timestampR R R R (t ValueErrortNonettimeRtappendR(RRR R R R Rt processor((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pytrecord#s    cC@s |j2dS(N(R(R((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pytclear4scC@s¾g}x±t|jƒD] \}\}}|dk ry||ƒWn$tk rhtjdƒd}nX|df|j|           cC@sÃtj}itjd6tjd6tjd6tjd6tjd6tjd6tjd6tjd6}xEt |ƒD]7\}}t t ||ƒ|ƒ}t tj||ƒqlWt tjj ƒtj_ dS( NtdebugtinfotwarningtwarnterrorR!tcriticaltfatal(R6tLoggertDEBUGtINFOtWARNINGtWARNtERRORtCRITICALtFATALRR^RGtsetattrtlog(tclstmethodst method_nameR R]((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pyt _patch_loggerÑs          cC@s tƒdS(sXInstalls the logging hook if it was not installed yet. Otherwise does nothing. N(Rs(((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pytinstall_logging_hookèsc@s ‡fd†}t||ƒdS(s¢Ignores a logger for the regular breadcrumb code. This is useful for framework integration code where some log messages should be specially handled. c@s ˆdk r|ˆkrtStS(N(RRHRW(R R R:R)R*(t allow_level(sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pyR>õs  N(tregister_special_log_handler(tname_or_loggerRuR>((RusB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pyt ignore_loggerðscC@s/t|tƒr|}n |j}|t|s    cC@se|dkrtjƒ}nxC|D];}tj|ƒ}|dkrVtd|ƒ‚n|ƒq"WdS(NsUnknown library %r for hooking(RR{tkeysR=t RuntimeError(t librariestlibRY((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pythook_librariesls   ()t __future__RRJRR6ttypesRtraven.utils.compatRRRRt raven.utilsRR;R<t getLoggerR RtobjectRR(RWR,R-RRR?R^RsRtRxRvRzR{R~RŽRŸR¤t raven.contextR(((sB/opt/alt/python27/lib/python2.7/site-packages/raven/breadcrumbs.pyts:   " *    & F    .