from typing import Dict class BaseError(RuntimeError): def __init__( self, message: str='Unknown error', extra_fields: Dict[str, str]=None) -> None: super().__init__(message) self.extra_fields = extra_fields class ConfigError(BaseError): pass class AuthError(BaseError): pass class IntegrityError(BaseError): pass class ValidationError(BaseError): pass class SearchError(BaseError): pass class NotFoundError(BaseError): pass class ProcessingError(BaseError): pass class MissingRequiredFileError(ValidationError): pass class MissingOrExpiredRequiredFileError(MissingRequiredFileError): pass class MissingRequiredParameterError(ValidationError): pass class InvalidParameterError(ValidationError): pass class ThirdPartyError(BaseError): pass