diff --git a/taskflow/patterns/graph_flow.py b/taskflow/patterns/graph_flow.py index 5c560891..1db5a564 100644 --- a/taskflow/patterns/graph_flow.py +++ b/taskflow/patterns/graph_flow.py @@ -24,7 +24,6 @@ from networkx.algorithms import dag from networkx.classes import digraph from taskflow import exceptions as exc -from taskflow import utils from taskflow.patterns import ordered_flow LOG = logging.getLogger(__name__) @@ -53,10 +52,10 @@ class Flow(ordered_flow.Flow): def _fetch_task_inputs(self, task): inputs = collections.defaultdict(list) - for n in utils.safe_attr(task, 'requires', []): + for n in getattr(task, 'requires', []): for (them, there_result) in self.results: if (not self._graph.has_edge(them, task) or - not n in utils.safe_attr(them, 'provides', [])): + not n in getattr(them, 'provides', [])): continue if there_result and n in there_result: inputs[n].append(there_result[n]) @@ -90,9 +89,9 @@ class Flow(ordered_flow.Flow): provides_what = collections.defaultdict(list) requires_what = collections.defaultdict(list) for t in self._graph.nodes_iter(): - for r in utils.safe_attr(t, 'requires', []): + for r in getattr(t, 'requires', []): requires_what[r].append(t) - for p in utils.safe_attr(t, 'provides', []): + for p in getattr(t, 'provides', []): provides_what[p].append(t) def get_providers(node, want_what): diff --git a/taskflow/patterns/linear_flow.py b/taskflow/patterns/linear_flow.py index 59653a74..9a601b76 100644 --- a/taskflow/patterns/linear_flow.py +++ b/taskflow/patterns/linear_flow.py @@ -17,7 +17,6 @@ # under the License. from taskflow import exceptions as exc -from taskflow import utils from taskflow.patterns import ordered_flow @@ -32,10 +31,10 @@ class Flow(ordered_flow.Flow): def _fetch_task_inputs(self, task): inputs = {} - for r in utils.safe_attr(task, 'requires', []): + for r in getattr(task, 'requires', []): # Find the last task that provided this. for (last_task, last_results) in reversed(self.results): - if r not in utils.safe_attr(last_task, 'provides', []): + if r not in getattr(last_task, 'provides', []): continue if last_results and r in last_results: inputs[r] = last_results[r] @@ -48,10 +47,10 @@ class Flow(ordered_flow.Flow): def _validate_provides(self, task): # Ensure that some previous task provides this input. missing_requires = [] - for r in utils.safe_attr(task, 'requires', []): + for r in getattr(task, 'requires', []): found_provider = False for prev_task in reversed(self._tasks): - if r in utils.safe_attr(prev_task, 'provides', []): + if r in getattr(prev_task, 'provides', []): found_provider = True break if not found_provider: diff --git a/taskflow/utils.py b/taskflow/utils.py index dbb5add5..730bc817 100644 --- a/taskflow/utils.py +++ b/taskflow/utils.py @@ -24,10 +24,6 @@ import time LOG = logging.getLogger(__name__) -def safe_attr(obj, name, default=None): - return getattr(obj, name, default) - - def await(check_functor, timeout=None): if timeout is not None: end_time = time.time() + max(0, timeout)