"""Application exceptions.""" class FailedToStartError(Exception): """Should be raised when application fails to start.""" def __init__(self, reason, *args, **kwargs): """Create new instance of FailedToStartError. Args: reason (str): Description of failure. """ super(FailedToStartError).__init__(*args, **kwargs) self.reason = reason def __str__(self): """Get string representation of FailedToStart error.""" return 'Application failed to start due to: {0}'.format(self.reason) class TranscodingFatalError(Exception): """Should be raised for fatal transcoding errors.""" def __init__(self, reason, *args, **kwargs): """Create new instance of TranscodingFatalError. Args: reason (str): Description of failure. """ super(TranscodingFatalError).__init__(*args, **kwargs) self.reason = reason def __str__(self): """Get string representation of TranscodingFatalError error.""" return 'Transcoding fatal error: {0}'.format(self.reason) class TranscodingRetryableError(Exception): """Should be raise for retryable transcoding errors.""" def __init__(self, reason, *args, **kwargs): """Create new instance of TranscodingRetryableError. Args: reason (str): Description of failure. """ super(TranscodingRetryableError).__init__(*args, **kwargs) self.reason = reason def __str__(self): """Get string representation of TranscodingRetryableError error.""" return 'Transcoding retryable error: {0}'.format(self.reason)