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