Newer
Older
def __init__(
self, code : grpc.StatusCode, details : str, extra_details : Union[str, Iterable[str]] = []
) -> None:
if isinstance(extra_details, str): extra_details = [extra_details]
self.details = '; '.join(map(str, [details] + extra_details))
super().__init__(self.details)
class NotFoundException(ServiceException):
def __init__(
self, object_name : str, object_uuid: str, extra_details : Union[str, Iterable[str]] = []
) -> None:
details = '{:s}({:s}) not found'.format(str(object_name), str(object_uuid))
super().__init__(grpc.StatusCode.NOT_FOUND, details, extra_details=extra_details)
class AlreadyExistsException(ServiceException):
def __init__(
self, object_name : str, object_uuid: str, extra_details : Union[str, Iterable[str]] = None
) -> None:
details = '{:s}({:s}) already exists'.format(str(object_name), str(object_uuid))
super().__init__(grpc.StatusCode.ALREADY_EXISTS, details, extra_details=extra_details)
class InvalidArgumentException(ServiceException):
def __init__(
self, argument_name : str, argument_value: str, extra_details : Union[str, Iterable[str]] = None
) -> None:
details = '{:s}({:s}) is invalid'.format(str(argument_name), str(argument_value))
super().__init__(grpc.StatusCode.INVALID_ARGUMENT, details, extra_details=extra_details)
class OperationFailedException(ServiceException):
def __init__(
self, operation : str, extra_details : Union[str, Iterable[str]] = None
) -> None:
details = 'Operation({:s}) failed'.format(str(operation))
super().__init__(grpc.StatusCode.INTERNAL, details, extra_details=extra_details)