Source code for umbra.exceptions
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
**exceptions.py**
**Platform:**
Windows, Linux, Mac Os X.
**Description:**
Defines **Umbra** package exceptions.
**Others:**
"""
#**********************************************************************************************************************
#*** Future imports.
#**********************************************************************************************************************
from __future__ import unicode_literals
#**********************************************************************************************************************
#*** Internal imports.
#**********************************************************************************************************************
import foundations.exceptions
from umbra.globals.runtimeGlobals import RuntimeGlobals
from umbra.globals.uiConstants import UiConstants
#**********************************************************************************************************************
#*** Module attributes.
#**********************************************************************************************************************
__author__ = "Thomas Mansencal"
__copyright__ = "Copyright (C) 2008 - 2014 - Thomas Mansencal"
__license__ = "GPL V3.0 - http://www.gnu.org/licenses/"
__maintainer__ = "Thomas Mansencal"
__email__ = "[email protected]"
__status__ = "Production"
__all__ = ["LOGGER",
"notifyExceptionHandler",
"AbstractEngineError",
"EngineConfigurationError",
"EngineInitializationError",
"ResourceExistsError",
"AbstractActionsManagerError",
"CategoryExistsError",
"ActionExistsError",
"AbstractPatchesManagerError",
"PatchRegistrationError",
"PatchInterfaceError",
"PatchApplyError",
"AbstractLayoutsManagerError",
"LayoutRegistrationError",
"LayoutExistError",
"AbstractFileSystemEventsManagerError",
"PathRegistrationError",
"PathExistsError",
"AbstractLanguageError",
"LanguageGrammarError"]
#**********************************************************************************************************************
#*** Module classes and definitions.
#**********************************************************************************************************************
[docs]def notifyExceptionHandler(*args):
"""
Provides a notifier exception handler.
:param \*args: Arguments.
:type \*args: \*
:return: Definition success.
:rtype: bool
"""
callback = RuntimeGlobals.componentsManager["factory.scriptEditor"].restoreDevelopmentLayout
foundations.exceptions.baseExceptionHandler(*args)
cls, instance = foundations.exceptions.extractException(*args)[:2]
RuntimeGlobals.notificationsManager.exceptify(message="{0}".format(instance), notificationClickedSlot=callback)
return True
[docs]class AbstractEngineError(foundations.exceptions.AbstractError):
"""
Defines the abstract base class for engine related exceptions.
"""
pass
[docs]class EngineConfigurationError(AbstractEngineError):
"""
Defines engine configuration exception.
"""
pass
[docs]class EngineInitializationError(AbstractEngineError):
"""
Defines engine initialization exception.
"""
pass
[docs]class ResourceExistsError(foundations.exceptions.AbstractOsError):
"""
Defines non existing resource exception.
"""
pass
[docs]class AbstractActionsManagerError(foundations.exceptions.AbstractError):
"""
Defines the abstract base class for :class:`umbra.managers.actionsManager.ActionsManager` related exceptions.
"""
pass
[docs]class CategoryExistsError(AbstractActionsManagerError):
"""
Defines non existing category exception.
"""
pass
[docs]class ActionExistsError(AbstractActionsManagerError):
"""
Defines non existing action exception.
"""
pass
[docs]class AbstractPatchesManagerError(foundations.exceptions.AbstractError):
"""
Defines the abstract base class for :class:`umbra.managers.patchesManager.PatchesManager` related exceptions.
"""
pass
[docs]class PatchRegistrationError(AbstractPatchesManagerError):
"""
Defines patch registration exception.
"""
pass
[docs]class PatchInterfaceError(AbstractPatchesManagerError):
"""
Defines patch interface exception.
"""
pass
[docs]class PatchApplyError(AbstractPatchesManagerError):
"""
Defines patch apply exception.
"""
pass
[docs]class AbstractLayoutsManagerError(foundations.exceptions.AbstractError):
"""
Defines the abstract base class for :class:`umbra.managers.layoutsManager.LayoutsManager` related exceptions.
"""
pass
[docs]class LayoutRegistrationError(AbstractLayoutsManagerError):
"""
Defines layout registration exception.
"""
pass
[docs]class LayoutExistError(AbstractLayoutsManagerError):
"""
Defines non existing layout exception.
"""
pass
[docs]class AbstractFileSystemEventsManagerError(foundations.exceptions.AbstractError):
"""
Defines the abstract base class for :class:`umbra.managers.fileSystemEventsManager.FileSystemEventsManager`
related exceptions.
"""
pass
[docs]class PathRegistrationError(AbstractFileSystemEventsManagerError):
"""
Defines path registration exception.
"""
pass
[docs]class PathExistsError(AbstractFileSystemEventsManagerError):
"""
Defines non existing path exception.
"""
pass
[docs]class AbstractLanguageError(foundations.exceptions.AbstractError):
"""
Defines the abstract base class for language related exceptions.
"""
pass
[docs]class LanguageGrammarError(AbstractLanguageError):
"""
Defines language grammar exception.
"""
pass