Leftovers isn't lazy enough
1) initialize seen to empty 2) get all posts not in seen 3) add posts to seen because the generator was iterated over lazily 4) wonder why it looks like there weren't any posts in seen yeah... leftovers has to be lazy too.
This commit is contained in:
parent
2d514ba7ca
commit
356742febf
|
@ -33,8 +33,10 @@ def maketree(descendants):
|
|||
yield lookup[rep], onelevel(subreps)
|
||||
else:
|
||||
yield lookup[rep], ()
|
||||
leftovers = set(lookup.keys()) - seen
|
||||
return onelevel(roots), (lookup[leftover] for leftover in leftovers)
|
||||
def leftovers():
|
||||
for leftover in set(lookup.keys()) - seen:
|
||||
yield lookup[leftover]
|
||||
return onelevel(roots), leftovers
|
||||
|
||||
# returns (status, gen[(status, gen[(status, ...), (status, ())]), ...])
|
||||
|
||||
|
@ -60,12 +62,13 @@ def unmaketree(tree):
|
|||
|
||||
def build(descendants):
|
||||
herp, derp = maketree(descendants)
|
||||
derp = tuple(derp)
|
||||
pprint(("derp?", derp))
|
||||
yield IN
|
||||
yield from unmaketree(herp)
|
||||
yield OUT
|
||||
yield IN
|
||||
derp = tuple(derp())
|
||||
pprint("derp", derp)
|
||||
for post in derp:
|
||||
yield POST(derp)
|
||||
pprint(("derp?", post))
|
||||
yield POST(post)
|
||||
yield OUT
|
||||
|
|
Loading…
Reference in New Issue