???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ó
¿öYc           @@ s—   d  Z  d d l m Z d d l m Z d d l Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 d d l m Z d e j f d	 „  ƒ  YZ d S(
   s©   
raven.handlers.logbook
~~~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 2010-2012 by the Sentry Team, see AUTHORS for more details.
:license: BSD, see LICENSE for more details.
i    (   t   absolute_import(   t   print_functionN(   t   string_types(   t   Client(   t	   to_stringt   SentryHandlerc           B@ s#   e  Z d  „  Z d „  Z d „  Z RS(   c         O@ sâ   t  | ƒ d k r | d } t | t ƒ rO | j d t ƒ d | |  |  _ n7 t | t ƒ rj | |  _ n t d |  j j | f ƒ ‚ g  } n6 y | j d ƒ |  _ Wn t	 k
 rÄ t
 d ƒ ‚ n Xt t |  ƒ j | | Ž  d  S(   Ni   i    t
   client_clst   dsnsS   The first argument to %s must be either a Client instance or a DSN, got %r instead.t   clients3   Expected keyword argument for SentryHandler: client(   t   lent
   isinstanceR   t   popR   R   t
   ValueErrort	   __class__t   __name__t   KeyErrort	   TypeErrort   superR   t   __init__(   t   selft   argst   kwargst   arg(    (    sG   /opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyR      s    
$		c         C@ sÝ   yI | j  j d ƒ r; t t |  j | ƒ ƒ d t j ƒd  S|  j | ƒ SWn t k
 rØ |  j	 j
 rk ‚  n  t d d t j ƒt t | j ƒ d t j ƒt t t j ƒ  ƒ ƒ y |  j	 j ƒ  WqÙ t k
 rÔ qÙ Xn Xd  S(   Ns   sentry.errorst   ravent   files>   Top level Sentry exception caught - failed creating log record(   s   sentry.errorsR   (   t   channelt
   startswitht   printR   t   formatt   syst   stderrt   _emitt	   ExceptionR   t   raise_send_errorst   msgt	   tracebackt
   format_exct   captureException(   R   t   record(    (    sG   /opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyt   emit*   s    "c         C@ sH  i t  j | j ƒ j ƒ  d 6| j d 6} d } i | j d 6| j d 6|  j | ƒ d 6} d | j k r| | j d | d <n  | j	 t
 k s£ | j	 rá t | j	 ƒ rá |  j j | ƒ } | j | j |   ƒ d } | j	 | d	 <n  i | j d
 6| j d 6| j d 6| j d 6| j d 6} | j | j ƒ |  j j | d | d | | S(   Nt   levelt   loggers   raven.events.Messaget   messaget   paramst	   formattedt   tagss   raven.events.Exceptiont   exc_infot   linenot   filenamet   functiont   processt   process_namet   datat   extra(   t   logbookt   get_level_nameR(   t   lowerR   R"   R   R   R   R.   t   Truet   allR   t   get_handlert   updatet   captureR/   R0   t	   func_nameR2   R3   R5   (   R   R&   R4   t
   event_typet   handler_kwargst   handlerR5   (    (    sG   /opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyR   >   s4    

'



(   R   t
   __module__R   R'   R   (    (    (    sG   /opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyR      s   		(   t   __doc__t
   __future__R    R   R6   R   R#   t   raven.utils.compatR   t
   raven.baseR   t   raven.utils.encodingR   t   HandlerR   (    (    (    sG   /opt/alt/python27/lib/python2.7/site-packages/raven/handlers/logbook.pyt   <module>   s   