exception.py 840 B

1234567891011121314151617181920212223242526272829
  1. from typing import Any, Optional
  2. class R2RException(Exception):
  3. def __init__(
  4. self, message: str, status_code: int, detail: Optional[Any] = None
  5. ):
  6. self.message = message
  7. self.status_code = status_code
  8. super().__init__(self.message)
  9. def to_dict(self):
  10. return {
  11. "message": self.message,
  12. "status_code": self.status_code,
  13. "detail": self.detail,
  14. "error_type": self.__class__.__name__,
  15. }
  16. class R2RDocumentProcessingError(R2RException):
  17. def __init__(self, error_message, document_id):
  18. self.document_id = document_id
  19. super().__init__(error_message, 400, {"document_id": document_id})
  20. def to_dict(self):
  21. result = super().to_dict()
  22. result["document_id"] = self.document_id
  23. return result