|
Server IP : 185.61.154.36 / Your IP : 216.73.216.44 Web Server : Apache System : Linux host67.registrar-servers.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64 User : gettoplisting ( 12043) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/../opt/hc_python/../hc_python/lib64/python3.12/site-packages/tblib/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
import sys
from functools import wraps
from . import Traceback
def reraise(tp, value, tb=None):
try:
if value is None:
value = tp()
if value.__traceback__ is not tb:
raise value.with_traceback(tb)
raise value
finally:
value = None
tb = None
class Error:
def __init__(self, exc_type, exc_value, traceback):
self.exc_type = exc_type
self.exc_value = exc_value
self.__traceback = Traceback(traceback)
@property
def traceback(self):
return self.__traceback.as_traceback()
def reraise(self):
reraise(self.exc_type, self.exc_value, self.traceback)
def return_error(func, exc_type=Exception):
@wraps(func)
def return_exceptions_wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except exc_type:
return Error(*sys.exc_info())
return return_exceptions_wrapper
returns_error = return_errors = returns_errors = return_error # cause I make too many typos
@return_error
def apply_with_return_error(args):
"""
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)
"""
return args[0](*args[1:])