???<!-- 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 Z d d l m	 Z	 d d l
 m Z m Z d d l m Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d S(   s    
raven.scripts.runner
~~~~~~~~~~~~~~~~~~~~

:copyright: (c) 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   OptionParser(   t   Clientt   get_version(   t   jsonc         C@ sb   y t  j | ƒ } Wn2 t k
 rG t d | | f ƒ t j d ƒ n Xt | j |  j | ƒ d  S(   Ns2   Invalid JSON was used for option %s.  Received: %si   (	   R   t   loadst
   ValueErrort   printt   syst   exitt   setattrt   valuest   dest(   t   optiont   opt_strt   valuet   parser(    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/scripts/runner.pyt
   store_json   s    c           C@ s   t  t d ƒ r t j ƒ  Sd  S(   Nt
   getloadavg(   t   hasattrt   osR   t   None(    (    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/scripts/runner.pyt   get_loadavg    s    
c          C@ s<   y d d  l  }  Wn t k
 r$ d  SX|  j t j ƒ  ƒ d S(   Ni    (   t   pwdt   ImportErrorR   t   getpwuidR   t   geteuid(   R   (    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/scripts/runner.pyt   get_uid&   s
    c         C@ sx  t  j j d ƒ x4 d D], } t  j j d | t |  j | ƒ f ƒ q Wt  j j d ƒ |  j } | j ƒ  sŒ t  j j d ƒ t  j d	 ƒ n  |  j ƒ  s¸ t  j j d
 ƒ t  j d	 ƒ n  | j d i d d 6d d 6i d d 6d d 6d 6ƒ } t  j j d ƒ t  j j	 ƒ  |  j
 d d d | d t j d t d | j d i  ƒ d i t ƒ  d 6t ƒ  d 6ƒ } t  j j d | f ƒ d  S(    Ns   Client configuration:
t   base_urlt   projectt
   public_keyt
   secret_keys     %-15s: %s
s   
s'   Error: DSN configuration is not valid!
i   s)   Error: Client reports as being disabled!
t   datas   raven.scripts.runnert   culprits
   raven.testt   loggert   GETt   methods   http://example.comt   urlt   requests   Sending a test message... t   messages5   This is a test message generated using ``raven test``t   levelt   stackt   tagst   extrat   usert   loadavgs   Event ID was %r
(   R   R   R   R    (   R	   t   stdoutt   writet   getattrt   remotet	   is_activeR
   t
   is_enabledt   gett   flusht   captureMessaget   loggingt   INFOt   TrueR   R   (   t   clientt   optionst   kt   remote_configR!   t   ident(    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/scripts/runner.pyt   send_test_message.   s:    *			
c          C@ s{  t  j d ƒ }  |  j t  j ƒ t d t ƒ  ƒ } | j d d d d t d d d d	 d
 d ƒ| j d d d d t d d d d	 d
 d ƒ| j ƒ  \ } } d j	 | d	 ƒ p» t
 j j d ƒ } | sè t d ƒ t d ƒ t j d	 ƒ n  t d ƒ t d | ƒ t ƒ  t | d d g ƒ} t | | j ƒ t j d ƒ | j j ƒ  rgt j j d ƒ t j d	 ƒ n  t j j d ƒ d  S(   Ns   sentry.errorst   versions   --datat   actiont   callbackt   typet   stringt   nargsi   R   R!   s   --tagsR+   t    t
   SENTRY_DSNs!   Error: No configuration detected!sV   You must either pass a DSN to the command, or set the SENTRY_DSN environment variable.s   Using DSN configuration:t   include_pathst   raveni   s   error!
s	   success!
(   R8   t	   getLoggert   setLevelt   DEBUGR   R   t
   add_optionR   t
   parse_argst   joinR   t   environR5   R   R	   R
   R   R@   t   __dict__t   timet   sleept   statet   did_failR/   R0   (   t   rootR   t   optst   argst   dsnR;   (    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/scripts/runner.pyt   mainX   s.    %


(   t   __doc__t
   __future__R    R   R8   R   R	   RS   t   optparseR   RJ   R   R   t   raven.utils.jsonR   R   R   R   R@   R[   (    (    (    sE   /opt/alt/python27/lib/python2.7/site-packages/raven/scripts/runner.pyt   <module>   s   					*