diff options
author | Michael Johnson <johnsomor@gmail.com> | 2022-06-09 18:02:21 +0000 |
---|---|---|
committer | Tom Weininger <tweining@redhat.com> | 2022-06-10 11:45:32 +0200 |
commit | 2521e3ee00d91d4002b751ecea06906fdf1c9b0e (patch) | |
tree | 3642cf67e18058564d93c3c01cc02d4d65dcf9ee | |
parent | a26e2d8898a2203a72adf28c8751e41450b1c020 (diff) | |
download | taskflow-2521e3ee00d91d4002b751ecea06906fdf1c9b0e.tar.gz |
Quote string representations
networkx 2.8.3 will raise errors if certain characters, such as a colon, in the node names and the string is not quoted.
This patch double quotes flow, node, and task string representations to make sure there are not issues with these characters occuring in the names.
Story: 2010083
Change-Id: Ib0941cddf14dde5d6b9f97fe0224d6e6f3975226
-rw-r--r-- | taskflow/atom.py | 2 | ||||
-rw-r--r-- | taskflow/engines/action_engine/compiler.py | 3 | ||||
-rw-r--r-- | taskflow/flow.py | 2 | ||||
-rw-r--r-- | taskflow/tests/unit/patterns/test_graph_flow.py | 4 | ||||
-rw-r--r-- | taskflow/tests/unit/patterns/test_linear_flow.py | 4 | ||||
-rw-r--r-- | taskflow/tests/unit/patterns/test_unordered_flow.py | 4 | ||||
-rw-r--r-- | taskflow/tests/unit/test_task.py | 4 |
7 files changed, 12 insertions, 11 deletions
diff --git a/taskflow/atom.py b/taskflow/atom.py index 6e41204..949c036 100644 --- a/taskflow/atom.py +++ b/taskflow/atom.py @@ -382,7 +382,7 @@ class Atom(object): """ def __str__(self): - return "%s==%s" % (self.name, misc.get_version_string(self)) + return '"%s==%s"' % (self.name, misc.get_version_string(self)) def __repr__(self): return '<%s %s>' % (reflection.get_class_name(self), self) diff --git a/taskflow/engines/action_engine/compiler.py b/taskflow/engines/action_engine/compiler.py index c72506a..a88c384 100644 --- a/taskflow/engines/action_engine/compiler.py +++ b/taskflow/engines/action_engine/compiler.py @@ -65,7 +65,8 @@ class Terminator(object): return self._name def __str__(self): - return "%s[$]" % (self._flow,) + flow_name = ("%s" % self._flow).strip('"') + return '"%s[$]"' % flow_name class Compilation(object): diff --git a/taskflow/flow.py b/taskflow/flow.py index 3b974f7..03be481 100644 --- a/taskflow/flow.py +++ b/taskflow/flow.py @@ -118,7 +118,7 @@ class Flow(object): cls_name = reflection.get_class_name(self) if cls_name.startswith(_CHOP_PAT): cls_name = cls_name[_CHOP_PAT_LEN:] - return "%s: %s(len=%d)" % (cls_name, self.name, len(self)) + return '"%s: %s(len=%d)"' % (cls_name, self.name, len(self)) @property def provides(self): diff --git a/taskflow/tests/unit/patterns/test_graph_flow.py b/taskflow/tests/unit/patterns/test_graph_flow.py index ef33f61..0fa7560 100644 --- a/taskflow/tests/unit/patterns/test_graph_flow.py +++ b/taskflow/tests/unit/patterns/test_graph_flow.py @@ -39,7 +39,7 @@ class GraphFlowTest(test.TestCase): def test_graph_flow_stringy(self): f = gf.Flow('test') - expected = 'graph_flow.Flow: test(len=0)' + expected = '"graph_flow.Flow: test(len=0)"' self.assertEqual(expected, str(f)) task1 = _task(name='task1') @@ -47,7 +47,7 @@ class GraphFlowTest(test.TestCase): task3 = _task(name='task3') f = gf.Flow('test') f.add(task1, task2, task3) - expected = 'graph_flow.Flow: test(len=3)' + expected = '"graph_flow.Flow: test(len=3)"' self.assertEqual(expected, str(f)) def test_graph_flow_starts_as_empty(self): diff --git a/taskflow/tests/unit/patterns/test_linear_flow.py b/taskflow/tests/unit/patterns/test_linear_flow.py index d96835e..682467b 100644 --- a/taskflow/tests/unit/patterns/test_linear_flow.py +++ b/taskflow/tests/unit/patterns/test_linear_flow.py @@ -28,7 +28,7 @@ class LinearFlowTest(test.TestCase): def test_linear_flow_stringy(self): f = lf.Flow('test') - expected = 'linear_flow.Flow: test(len=0)' + expected = '"linear_flow.Flow: test(len=0)"' self.assertEqual(expected, str(f)) task1 = _task(name='task1') @@ -36,7 +36,7 @@ class LinearFlowTest(test.TestCase): task3 = _task(name='task3') f = lf.Flow('test') f.add(task1, task2, task3) - expected = 'linear_flow.Flow: test(len=3)' + expected = '"linear_flow.Flow: test(len=3)"' self.assertEqual(expected, str(f)) def test_linear_flow_starts_as_empty(self): diff --git a/taskflow/tests/unit/patterns/test_unordered_flow.py b/taskflow/tests/unit/patterns/test_unordered_flow.py index c5d14d3..c592906 100644 --- a/taskflow/tests/unit/patterns/test_unordered_flow.py +++ b/taskflow/tests/unit/patterns/test_unordered_flow.py @@ -28,7 +28,7 @@ class UnorderedFlowTest(test.TestCase): def test_unordered_flow_stringy(self): f = uf.Flow('test') - expected = 'unordered_flow.Flow: test(len=0)' + expected = '"unordered_flow.Flow: test(len=0)"' self.assertEqual(expected, str(f)) task1 = _task(name='task1') @@ -36,7 +36,7 @@ class UnorderedFlowTest(test.TestCase): task3 = _task(name='task3') f = uf.Flow('test') f.add(task1, task2, task3) - expected = 'unordered_flow.Flow: test(len=3)' + expected = '"unordered_flow.Flow: test(len=3)"' self.assertEqual(expected, str(f)) def test_unordered_flow_starts_as_empty(self): diff --git a/taskflow/tests/unit/test_task.py b/taskflow/tests/unit/test_task.py index 32b3e45..eed9293 100644 --- a/taskflow/tests/unit/test_task.py +++ b/taskflow/tests/unit/test_task.py @@ -86,11 +86,11 @@ class TaskTest(test.TestCase): def test_task_str(self): my_task = MyTask(name='my') - self.assertEqual('my==1.0', str(my_task)) + self.assertEqual('"my==1.0"', str(my_task)) def test_task_repr(self): my_task = MyTask(name='my') - self.assertEqual('<%s.MyTask my==1.0>' % __name__, repr(my_task)) + self.assertEqual('<%s.MyTask "my==1.0">' % __name__, repr(my_task)) def test_no_provides(self): my_task = MyTask() |