Option to yield progress from iterate() and consume_iterator()

This commit is contained in:
Thomas Krijnen
2022-02-26 14:57:21 +01:00
parent d16f92a445
commit e81dd9c7df
@@ -211,17 +211,20 @@ def create_shape(settings, inst, repr=None):
)
def consume_iterator(it):
def consume_iterator(it, with_progress=False):
if it.initialize():
while True:
yield it.get()
if with_progress:
yield it.progress(), it.get()
else:
yield it.get()
if not it.next():
break
def iterate(settings, file_or_filename, num_threads=1, include=None, exclude=None):
def iterate(settings, file_or_filename, num_threads=1, include=None, exclude=None, with_progress=False):
it = iterator(settings, file_or_filename, num_threads, include, exclude)
yield from consume_iterator(it)
yield from consume_iterator(it, with_progress=with_progress)
def make_shape_function(fn):