diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-04-07 21:16:11 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-04-07 21:16:11 -0400 |
commit | c6757c32e228f254c8a6a3a192f5305ef243463a (patch) | |
tree | 2ec033da50d8c100c758cc6f58d4a0da36467d18 /lib/sqlalchemy/topological.py | |
parent | 5df74201409525bedbe67430e8e822e389b5157c (diff) | |
download | sqlalchemy-c6757c32e228f254c8a6a3a192f5305ef243463a.tar.gz |
duh
Diffstat (limited to 'lib/sqlalchemy/topological.py')
-rw-r--r-- | lib/sqlalchemy/topological.py | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/lib/sqlalchemy/topological.py b/lib/sqlalchemy/topological.py index a6328a5e4..2b6eadd5d 100644 --- a/lib/sqlalchemy/topological.py +++ b/lib/sqlalchemy/topological.py @@ -16,15 +16,15 @@ from sqlalchemy import util __all__ = ['sort', 'sort_as_subsets', 'find_cycles'] def sort_as_subsets(tuples, allitems): - output = set() - - todo = set(allitems) edges = util.defaultdict(set) for parent, child in tuples: edges[child].add(parent) + todo = set(allitems) + while todo: + output = set() for node in list(todo): if not todo.intersection(edges[node]): output.add(node) @@ -36,7 +36,6 @@ def sort_as_subsets(tuples, allitems): todo.difference_update(output) yield output - output = set() def sort(tuples, allitems): """sort the given list of items by dependency. |