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
05605bf8ff
commit
e76c758762
|
@ -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