def handle_extract_pattern(pattern, ifiles, _groups, _vars):
'''Handle input option pattern'''
if pattern is None or not pattern:
patterns = []
elif isinstance(pattern, str):
patterns = [pattern]
elif isinstance(pattern, Iterable):
patterns = pattern
else:
raise ValueError(f'Unacceptable value for parameter pattern: {pattern}')
#
for pattern in patterns:
res = extract_pattern(pattern, ifiles)
# now, assign the variables to env
for k, v in res.items():
if k in ('step_input', 'step_output', 'step_depends') or k.startswith('_'):
raise RuntimeError(f'Pattern defined variable {k} is not allowed')
env.sos_dict[k] = v
# also make k, v pair with _input
Base_Step_Executor.handle_paired_with(res.keys(), ifiles, _groups, _vars)
评论列表
文章目录