diff --git a/taskflow/persistence/backends/impl_memory.py b/taskflow/persistence/backends/impl_memory.py index 55ea1455..e614247d 100644 --- a/taskflow/persistence/backends/impl_memory.py +++ b/taskflow/persistence/backends/impl_memory.py @@ -17,6 +17,7 @@ import contextlib import copy +import itertools import posixpath as pp import six @@ -199,9 +200,8 @@ class FakeFilesystem(object): node = self._fetch_node(path, normalized=True) if node is self._root: raise ValueError("Can not delete '%s'" % self._root.item) - removals = [path] - removals.extend(child.metadata['path'] for child in node.bfs_iter()) - for path in removals: + child_gen = (child.metadata['path'] for child in node.bfs_iter()) + for path in itertools.chain([path], child_gen): self._reverse_mapping.pop(path, None) node.disassociate()