def orig():
yield 1
print("you don't see it if orig() is called via wrapper()")
yield 2
def wrapper():
for i in orig():
yield i
break
print(list(wrapper())) # -> [1]
print("the point is wrapper yields one item at a time")
print(list(orig())) # -> [1, 2]
ZGVmIG9yaWcoKToKICAgIHlpZWxkIDEKICAgIHByaW50KCJ5b3UgZG9uJ3Qgc2VlIGl0IGlmIG9yaWcoKSBpcyBjYWxsZWQgdmlhIHdyYXBwZXIoKSIpCiAgICB5aWVsZCAyCgpkZWYgd3JhcHBlcigpOgogICAgZm9yIGkgaW4gb3JpZygpOgogICAgICAgIHlpZWxkIGkKICAgICAgICBicmVhawoKcHJpbnQobGlzdCh3cmFwcGVyKCkpKSAjIC0+IFsxXQpwcmludCgidGhlIHBvaW50IGlzIHdyYXBwZXIgeWllbGRzIG9uZSBpdGVtIGF0IGEgdGltZSIpCnByaW50KGxpc3Qob3JpZygpKSkgIyAtPiBbMSwgMl0=