U \=@stddlmZddlZddlmZddlmZddlmZddl m Z ddl m Z Gdd d e Z d d Zd d ZdS))absolute_importN)Thread)Hub)reraise)event_from_exception) Integrationc@s&eZdZdZdddZeddZdS) ThreadingIntegration threadingFcCs ||_dSN) propagate_hub)selfr r /threading.py__init__szThreadingIntegration.__init__cstjfdd}|t_dS)NcsJtj}|t}|dk r:|jr(t|}nd}t||j|_|f||Sr )rcurrentget_integrationrr _wrap_runrun)r akwhubZ integrationZ old_startr r sentry_starts  z5ThreadingIntegration.setup_once..sentry_start)rstart)rr rr setup_onces zThreadingIntegration.setup_onceN)F)__name__ __module__ __qualname__Z identifierr staticmethodrr r r rr s rcsfdd}|S)Nc sVptj}|>z||WW5QRStk rFttYnXW5QRXdSr )rr Exceptionr_capture_exception)rrrold_run parent_hubr rr(s  z_wrap_run..runr )r#r"rr r!rr's rcCsJtj}t}|tdk rFt||jjdddd\}}|j ||d|S)Nr F)typeZhandled)Zclient_optionsZ mechanism)hint) rrsysexc_inforrrZclientZoptionsZ capture_event)rr'Zeventr%r r rr 4s r )Z __future__rr&r rZ sentry_sdkrZsentry_sdk._compatrZsentry_sdk.utilsrZsentry_sdk.integrationsrrrr r r r rs