Source code for torequests.exceptions
#! coding:utf-8
[docs]class CommonException(Exception):
"""This Exception mainly used for `bool(self) is False`, and not `callable`."""
def __init__(self, name):
self.name = name
def __bool__(self):
return False
def __nonzero__(self):
return False
def __call__(self, *args, **kwargs):
raise TypeError("%s object is not callable" % repr(self))
def __str__(self):
return "%s: %s" % (self.__class__.__name__, self.name)
def __repr__(self):
return "%s('%s',)" % (self.__class__.__name__, self.name)
[docs]class FailureException(CommonException):
"""Use `self.error` to review the origin exception."""
def __new__(cls, error, name=None):
if isinstance(error, cls):
return error
else:
return super(FailureException, cls).__new__(cls, error, name=name)
def __init__(self, error, name=None):
if isinstance(error, self.__class__):
error = error.error
self.__dict__ = error.__dict__
self.error = error
self.name = name or self.error.__class__.__name__
self.ok = False
def __str__(self):
return "%s: %s%s" % (
self.__class__.__name__,
self.name,
getattr(self.error, "args", ""),
)
def __repr__(self):
return "<FailureException [%s]>" % (self.name)
@property
def text(self):
return str(self)
[docs]class ImportErrorModule(CommonException, ImportError):
pass