[core] add GraphVisitMessage exceptions mecanism

allow to stop branch or graph visit by throwing specific exceptions in visitor callbacks
This commit is contained in:
Yann Lanthony 2018-07-18 16:12:46 +02:00
parent 52d1d1fb89
commit ab4e82aa88
2 changed files with 27 additions and 3 deletions

View file

@ -28,3 +28,18 @@ class NodeUpgradeError(GraphException):
if details:
msg += ": {}".format(details)
super(NodeUpgradeError, self).__init__(msg)
class GraphVisitMessage(GraphException):
""" Base class for sending messages via exceptions during a graph visit. """
pass
class StopGraphVisit(GraphVisitMessage):
""" Immediately interrupt graph visit. """
pass
class StopBranchVisit(GraphVisitMessage):
""" Immediately stop branch visit. """
pass