refactor: refactor python sdk (#28118)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
This commit is contained in:
wangxiaolei
2025-11-20 11:10:53 +08:00
committed by GitHub
parent a1b735a4c0
commit 99e9fc751b
14 changed files with 4551 additions and 106 deletions

View File

@@ -0,0 +1,71 @@
"""Custom exceptions for the Dify client."""
from typing import Optional, Dict, Any
class DifyClientError(Exception):
"""Base exception for all Dify client errors."""
def __init__(self, message: str, status_code: int | None = None, response: Dict[str, Any] | None = None):
super().__init__(message)
self.message = message
self.status_code = status_code
self.response = response
class APIError(DifyClientError):
"""Raised when the API returns an error response."""
def __init__(self, message: str, status_code: int, response: Dict[str, Any] | None = None):
super().__init__(message, status_code, response)
self.status_code = status_code
class AuthenticationError(DifyClientError):
"""Raised when authentication fails."""
pass
class RateLimitError(DifyClientError):
"""Raised when rate limit is exceeded."""
def __init__(self, message: str = "Rate limit exceeded", retry_after: int | None = None):
super().__init__(message)
self.retry_after = retry_after
class ValidationError(DifyClientError):
"""Raised when request validation fails."""
pass
class NetworkError(DifyClientError):
"""Raised when network-related errors occur."""
pass
class TimeoutError(DifyClientError):
"""Raised when request times out."""
pass
class FileUploadError(DifyClientError):
"""Raised when file upload fails."""
pass
class DatasetError(DifyClientError):
"""Raised when dataset operations fail."""
pass
class WorkflowError(DifyClientError):
"""Raised when workflow operations fail."""
pass