B ¿öYœ ã@sdZddlmZddlmZddlZddlZddlZddlZddlm Z ddl m Z m Z ddl mZdd „Zd d „Zd d „Zdd„Zdd„ZdS)z  raven.scripts.runner ~~~~~~~~~~~~~~~~~~~~ :copyright: (c) 2012 by the Sentry Team, see AUTHORS for more details. :license: BSD, see LICENSE for more details. é)Úabsolute_import)Úprint_functionN)Ú OptionParser)ÚClientÚ get_version)ÚjsoncCsRyt |¡}Wn.tk r<td||fƒt d¡YnXt|j|j|ƒdS)Nz2Invalid JSON was used for option %s. Received: %sé) rÚloadsÚ ValueErrorÚprintÚsysÚexitÚsetattrÚvaluesÚdest)ÚoptionZopt_strÚvalueÚparser©rúE/opt/alt/python37/lib/python3.7/site-packages/raven/scripts/runner.pyÚ store_jsons rcCsttdƒrt ¡SdS)NÚ getloadavg)ÚhasattrÚosrrrrrÚ get_loadavg s rcCs4y ddl}Wntk r dSX| t ¡¡dS)Nr)ÚpwdÚ ImportErrorÚgetpwuidrÚgeteuid)rrrrÚget_uid&s  rc Csôtj d¡x(dD] }tj d|t|j|ƒf¡qWtj d¡|j}| ¡sftj d¡t d¡| ¡s„tj d¡t d¡| dd d d d d œdœ¡}tj d¡tj  ¡|j d|t j d| di¡t ƒtƒdœd}tj d|f¡dS)NzClient configuration: )Zbase_urlÚprojectZ public_keyZ secret_keyz %-15s: %s Ú z'Error: DSN configuration is not valid! rz)Error: Client reports as being disabled! Údatazraven.scripts.runnerz raven.testÚGETzhttp://example.com)ÚmethodÚurl)ZculpritÚloggerZrequestzSending a test message... z5This is a test message generated using ``raven test``TÚtags)ÚuserZloadavg)Úmessager"ÚlevelÚstackr'ÚextrazEvent ID was %r )r ÚstdoutÚwriteÚgetattrZremoteZ is_activer Ú is_enabledÚgetÚflushZcaptureMessageÚloggingÚINFOrr)ÚclientÚoptionsÚkZ remote_configr"ÚidentrrrÚsend_test_message.s6           r9cCst d¡}| tj¡ttƒd}|jddtdddd|jd dtddd d| ¡\}}d   |dd…¡pvt j   d ¡}|s–t d ƒt dƒt d¡t dƒt d |ƒt ƒt|dgd}t||jƒt d¡|j ¡ròtj d¡t d¡tj d¡dS)Nz sentry.errors)Úversionz--dataÚcallbackÚstringrr")Úactionr;ÚtypeÚnargsrz--tagsr'ú Z SENTRY_DSNz!Error: No configuration detected!zVYou must either pass a DSN to the command, or set the SENTRY_DSN environment variable.zUsing DSN configuration:Úraven)Z include_pathsézerror! z success! )r3Ú getLoggerÚsetLevelÚDEBUGrrÚ add_optionrÚ parse_argsÚjoinrÚenvironr1r r r rr9Ú__dict__ÚtimeÚsleepÚstateZdid_failr-r.)ÚrootrÚoptsÚargsZdsnr5rrrÚmainXs.               rQ)Ú__doc__Ú __future__rrr3rr rKÚoptparserrArrZraven.utils.jsonrrrrr9rQrrrrÚs     *