class BaseFailed(Exception): """ Failed is base exception for all Failed... exceptions. This exception is indicates error while performing some phone notification operation. Optionally can contain graceful_msg attribute. When graceful_msg is provided it mean that error on provider side is not our fault, but some provider error (number is blocked, fraud guard, ...). By default, graceful_msg is None - it means that error is our fault (network problems, invalid configuration,...). Attributes: graceful_msg: string with some details about exception which can be exposed to caller. """ def __init__(self, graceful_msg=None): self.graceful_msg = graceful_msg class FailedToMakeCall(BaseFailed): pass class FailedToSendSMS(BaseFailed): pass class FailedToStartVerification(BaseFailed): pass class FailedToFinishVerification(BaseFailed): pass class NumberNotVerified(Exception): pass class NumberAlreadyVerified(Exception): pass class ProviderNotSupports(Exception): pass class CallsLimitExceeded(Exception): pass class SMSLimitExceeded(Exception): pass class PhoneNumberBanned(Exception): pass