in src/chug/wds/filters.py [0:0]
def _expand_maybe(data, f, handler=wds.reraise_exception):
for sample in data:
if isinstance(sample, Mapping):
try:
result = f(sample)
except Exception as exn:
if handler(exn):
continue
else:
break
if result is None:
continue
if "__key__" in sample:
result["__key__"] = sample["__key__"]
yield result
else:
assert isinstance(sample, Sequence)
for subsample in sample:
assert isinstance(subsample, Mapping)
try:
result = f(subsample)
except Exception as exn:
if handler(exn):
continue
else:
break
if result is None:
continue
if "__key__" in subsample:
result["__key__"] = subsample["__key__"]
yield result