You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
952 B

from .i18n import _
class StateMachineError(Exception):
"Base exception for this project, all exceptions that can be raised inherit from this class."
class InvalidDefinition(StateMachineError):
"The state machine has a definition error"
class InvalidStateValue(InvalidDefinition):
"The current model state value is not mapped to a state definition."
def __init__(self, value):
self.value = value
msg = _("{!r} is not a valid state value.").format(value)
super().__init__(msg)
class AttrNotFound(InvalidDefinition):
"There's no method or property with the given name"
class TransitionNotAllowed(StateMachineError):
"Raised when there's no transition that can run from the current :ref:`state`."
def __init__(self, event, state):
self.event = event
self.state = state
msg = _("Can't {} when in {}.").format(self.event, self.state.name)
super().__init__(msg)