123456789101112131415161718192021222324 |
- from __future__ import annotations
- from typing import Optional
- from enum import Enum, auto
- class RollbotFailureException(BaseException):
- def __init__(self, failure: RollbotFailure, detail: Optional[str]):
- super().__init__()
- self.failure = failure
- self.detail = detail
- class RollbotFailure(Enum):
- INVALID_COMMAND = auto()
- MISSING_SUBCOMMAND = auto()
- INVALID_SUBCOMMAND = auto()
- INVALID_ARGUMENTS = auto()
- SERVICE_DOWN = auto()
- PERMISSIONS = auto()
- INTERNAL_ERROR = auto()
- def raise_exc(self, detail: Optional[str] = None):
- raise RollbotFailureException(self, detail)
|