From: Mike Bayer Date: Thu, 8 Apr 2010 01:16:11 +0000 (-0400) Subject: duh X-Git-Tag: rel_0_6_0~38 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c6757c32e228f254c8a6a3a192f5305ef243463a;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git duh --- diff --git a/lib/sqlalchemy/topological.py b/lib/sqlalchemy/topological.py index a6328a5e4a..2b6eadd5d4 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.