Files
pigway-frame-flow/pigway_frame_flow/errors.py
T

30 lines
1023 B
Python
Raw Normal View History

from enum import StrEnum
class ErrorCode(StrEnum):
INVALID_REQUEST = "INVALID_REQUEST"
OFFICIAL_AUTH_REQUIRED = "OFFICIAL_AUTH_REQUIRED"
UNAUTHORIZED = "UNAUTHORIZED"
FORBIDDEN = "FORBIDDEN"
DEVICE_NOT_FOUND = "DEVICE_NOT_FOUND"
DEVICE_OFFLINE = "DEVICE_OFFLINE"
UNSUPPORTED_CAPABILITY = "UNSUPPORTED_CAPABILITY"
RENDER_FAILED = "RENDER_FAILED"
UPLOAD_FAILED = "UPLOAD_FAILED"
DISPLAY_NOT_CONFIRMED = "DISPLAY_NOT_CONFIRMED"
WRITE_RESULT_UNKNOWN = "WRITE_RESULT_UNKNOWN"
RATE_LIMITED = "RATE_LIMITED"
INTERNAL_ERROR = "INTERNAL_ERROR"
CLOUD_UNAVAILABLE = "CLOUD_UNAVAILABLE"
NOT_FOUND = "NOT_FOUND"
CONFLICT = "CONFLICT"
CONFIG_REQUIRED = "CONFIG_REQUIRED"
WRITE_DISABLED = "WRITE_DISABLED"
class FlowError(Exception):
def __init__(self, code: ErrorCode, message: str, status: int = 400, details=None):
self.code, self.message, self.status = code, message, status
self.details = details or {}
super().__init__(message)