Source code for malva_client.exceptions
from typing import Dict, Any, Optional
[docs]
class MalvaAPIError(Exception):
"""Base exception for Malva API errors"""
def __init__(self, message: str, response_data: Optional[Dict[str, Any]] = None):
self.message = message
self.response_data = response_data or {}
super().__init__(message)
[docs]
class AuthenticationError(MalvaAPIError):
"""Authentication failed"""
pass
[docs]
class SearchError(MalvaAPIError):
"""Search operation failed"""
def __init__(self, message: str, job_id: Optional[str] = None,
response_data: Optional[Dict[str, Any]] = None):
self.job_id = job_id
super().__init__(message, response_data)
[docs]
class QuotaExceededError(MalvaAPIError):
"""API quota exceeded"""
def __init__(self, message: str, quota_info: Optional[Dict[str, Any]] = None):
self.quota_info = quota_info or {}
super().__init__(message, quota_info)
[docs]
class ValidationError(MalvaAPIError):
"""Input validation failed"""
pass
[docs]
class ConfigurationError(MalvaAPIError):
"""Configuration error"""
pass
[docs]
class StorageError(MalvaAPIError):
"""Local storage error"""
pass
[docs]
class NetworkError(MalvaAPIError):
"""Network connectivity error"""
pass
[docs]
class TimeoutError(MalvaAPIError):
"""Operation timed out"""
pass