summaryrefslogtreecommitdiff
path: root/taskflow/patterns
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-03-30 07:36:17 +0000
committerGerrit Code Review <review@openstack.org>2015-03-30 07:36:17 +0000
commitd24eebf19487a365c8e517ae5b6f71daeab1a8be (patch)
tree32d4bbc1f23719682aa5536815d68a3f32fc9811 /taskflow/patterns
parent179854e3eee11306cb888ef669cd3728b5e5bbb5 (diff)
parent977d19caa3a632e1cd4ed133b35d7ef274fc05d3 (diff)
downloadtaskflow-d24eebf19487a365c8e517ae5b6f71daeab1a8be.tar.gz
Merge "Make the graph '_unsatisfied_requires' be a staticmethod"
Diffstat (limited to 'taskflow/patterns')
-rw-r--r--taskflow/patterns/graph_flow.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/taskflow/patterns/graph_flow.py b/taskflow/patterns/graph_flow.py
index d36a72f..bb779cb 100644
--- a/taskflow/patterns/graph_flow.py
+++ b/taskflow/patterns/graph_flow.py
@@ -22,7 +22,6 @@ from taskflow.types import graph as gr
def _unsatisfied_requires(node, graph, *additional_provided):
- """Extracts the unsatisified symbol requirements of a single node."""
requires = set(node.requires)
if not requires:
return requires
@@ -64,6 +63,9 @@ class Flow(flow.Flow):
self._graph = gr.DiGraph()
self._graph.freeze()
+ #: Extracts the unsatisified symbol requirements of a single node.
+ _unsatisfied_requires = staticmethod(_unsatisfied_requires)
+
def link(self, u, v):
"""Link existing node u as a runtime dependency of existing node v."""
if not self._graph.has_node(u):
@@ -153,8 +155,8 @@ class Flow(flow.Flow):
provided[value].append(self._retry)
for item in self._graph.nodes_iter():
- for value in _unsatisfied_requires(item, self._graph,
- retry_provides):
+ for value in self._unsatisfied_requires(item, self._graph,
+ retry_provides):
required[value].append(item)
for value in item.provides:
provided[value].append(item)
@@ -168,8 +170,8 @@ class Flow(flow.Flow):
# Try to find a valid provider.
if resolve_requires:
- for value in _unsatisfied_requires(item, tmp_graph,
- retry_provides):
+ for value in self._unsatisfied_requires(item, tmp_graph,
+ retry_provides):
if value in provided:
providers = provided[value]
if len(providers) > 1:
@@ -232,7 +234,8 @@ class Flow(flow.Flow):
retry_provides.update(self._retry.provides)
g = self._get_subgraph()
for item in g.nodes_iter():
- requires.update(_unsatisfied_requires(item, g, retry_provides))
+ requires.update(self._unsatisfied_requires(item, g,
+ retry_provides))
return frozenset(requires)