mirror of
https://github.com/peridotbuild/pv2.git
synced 2024-11-25 22:46:27 +00:00
119 lines
2.9 KiB
Python
119 lines
2.9 KiB
Python
|
# -*-:python; coding:utf-8; -*-
|
||
|
# author: Louis Abel <label@rockylinux.org>
|
||
|
"""
|
||
|
Generic Error Classes
|
||
|
"""
|
||
|
|
||
|
# needed imports
|
||
|
from pv2.util.constants import ErrorConstants as errconst
|
||
|
|
||
|
# list every error class that's enabled
|
||
|
|
||
|
__all__ = [
|
||
|
'GenericError',
|
||
|
'ProvidedValueError',
|
||
|
'ExistsValueError',
|
||
|
'MissingValueError',
|
||
|
'ConfigurationError',
|
||
|
'FileNotFound',
|
||
|
'MockGenericError',
|
||
|
'MockUnexpectedError',
|
||
|
'MockInvalidConfError',
|
||
|
'MockInvalidArchError',
|
||
|
'MockDnfError',
|
||
|
'MockResultdirError',
|
||
|
'MockSignalReceivedError',
|
||
|
]
|
||
|
|
||
|
|
||
|
# todo: find a way to logically use fault_code
|
||
|
class GenericError(Exception):
|
||
|
"""
|
||
|
Custom exceptions entrypoint
|
||
|
"""
|
||
|
fault_code = errconst.ERR_GENERAL
|
||
|
from_fault = False
|
||
|
def __str__(self):
|
||
|
try:
|
||
|
return str(self.args[0]['args'][0])
|
||
|
# pylint: disable=broad-exception-caught
|
||
|
except Exception:
|
||
|
try:
|
||
|
return str(self.args[0])
|
||
|
# pylint: disable=broad-exception-caught
|
||
|
except Exception:
|
||
|
return str(self.__dict__)
|
||
|
|
||
|
# Starting at this point is every error class that pv2 will deal with.
|
||
|
class ProvidedValueError(GenericError):
|
||
|
"""
|
||
|
What it says on the tin
|
||
|
"""
|
||
|
fault_code = errconst.ERR_PROVIDED_VALUE
|
||
|
|
||
|
class ExistsValueError(GenericError):
|
||
|
"""
|
||
|
Value being requested already exists
|
||
|
"""
|
||
|
fault_code = errconst.ERR_VALUE_EXISTS
|
||
|
|
||
|
class MissingValueError(GenericError):
|
||
|
"""
|
||
|
Value being requested already exists
|
||
|
"""
|
||
|
fault_code = errconst.ERR_MISSING_VALUE
|
||
|
|
||
|
class ConfigurationError(GenericError):
|
||
|
"""
|
||
|
Value being requested already exists
|
||
|
"""
|
||
|
fault_code = errconst.ERR_CONFIGURATION
|
||
|
|
||
|
class FileNotFound(GenericError):
|
||
|
"""
|
||
|
Value being requested already exists
|
||
|
"""
|
||
|
fault_code = errconst.ERR_NOTFOUND
|
||
|
|
||
|
class MockGenericError(GenericError):
|
||
|
"""
|
||
|
Mock error exceptions
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_GENERIC
|
||
|
|
||
|
class MockUnexpectedError(MockGenericError):
|
||
|
"""
|
||
|
Mock (or the environment) experienced an unexpected error.
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_UNEXPECTED
|
||
|
|
||
|
class MockInvalidConfError(MockGenericError):
|
||
|
"""
|
||
|
Mock (or the environment) experienced an error with the conf.
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_CONF_INVALID
|
||
|
|
||
|
class MockInvalidArchError(MockGenericError):
|
||
|
"""
|
||
|
Mock (or the environment) didn't like the arch
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_ARCH_EXCLUDED
|
||
|
|
||
|
class MockDnfError(MockGenericError):
|
||
|
"""
|
||
|
Mock (or the environment) had some kind of dnf error
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_DNF_ERROR
|
||
|
|
||
|
class MockResultdirError(MockGenericError):
|
||
|
"""
|
||
|
Mock (or the environment) had some kind of error in the resultdir
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_RESULTDIR_GENERIC
|
||
|
|
||
|
class MockSignalReceivedError(MockGenericError):
|
||
|
"""
|
||
|
Mock had a SIG received
|
||
|
"""
|
||
|
fault_code = errconst.MOCK_ERR_BUILD_HUP
|