U e,@sbddlZddlmZddlmZddlmZGdddZefdd Z e Z Z Z e d d Z dS) Nwraps)reraise) Tracebackc@s(eZdZddZeddZddZdS)ErrorcCs||_||_t||_dSN)exc_type exc_valuer_Error__traceback)selfr r tracebackr>/opt/hc_python/lib/python3.8/site-packages/tblib/decorators.py__init__ szError.__init__cCs |jSr)r Z as_tracebackr rrrr szError.tracebackcCst|j|j|jdSr)rr r r rrrrrsz Error.reraiseN)__name__ __module__ __qualname__rpropertyr rrrrrr s rcstfdd}|S)Ncs2z ||WSk r,ttYSXdSr)rsysexc_info)argskwargsr funcrrreturn_exceptions_wrappers z/return_error..return_exceptions_wrapperr)rr rrrr return_errorsrcCs|d|ddS)z args is a tuple where the first argument is a callable. eg:: apply_with_return_error((func, 1, 2, 3)) - this will call func(1, 2, 3) rrNr)rrrrapply_with_return_error%s r)r functoolsrsixrrr ExceptionrZ returns_errorZ return_errorsZreturns_errorsrrrrrs