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__ = "thomas.mansencal@gmail.com"
__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