Mini Shell
# -*- coding: utf-8 -*-
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
"""
This module contains custom exception classes
"""
import json
class SSAError(Exception):
"""
SSA internal exception class.
Adds an 'error' status and stores information about occurred exception.
Provides JSON encoded info about occurred exception.
"""
def __init__(self, message: str, *, flag: str = 'error',
extra: dict = None):
super().__init__(message)
self.status = 'error'
self.reason = message
self.extra_data = extra
self.type_flag = flag
def __str__(self) -> 'json str':
if self.type_flag == 'warning':
msg = {
'result': 'success',
'warning': self.reason
}
else:
msg = {
'result': self.reason
}
return json.dumps(msg)
class SSAAgentError(SSAError):
"""
SSA Agent exception class
"""
class SSAManagerError(SSAError):
"""
SSA Manager exception class
"""
class SSAMailerError(SSAError):
"""
SSA Mailer exception class
"""
Zerion Mini Shell 1.0