]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
duh
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 8 Apr 2010 01:16:11 +0000 (21:16 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 8 Apr 2010 01:16:11 +0000 (21:16 -0400)
lib/sqlalchemy/topological.py

index a6328a5e4ae3e520c5f33f3700ffe9964c41cb25..2b6eadd5d42ffa9ef135ab5b98f6660c306f0e35 100644 (file)
@@ -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.