chore: minor refactoring

This commit is contained in:
gmega 2024-12-19 21:14:24 -03:00
parent 5447762f45
commit 3c34929fc6
No known key found for this signature in database
GPG Key ID: 6290D34EAD824B18

View File

@ -14,23 +14,21 @@ def expand(parameters: Dict[str, Any], run_id: bool = False) -> List[Dict[str, A
if not isinstance(v, list): if not isinstance(v, list):
fixed[k] = v fixed[k] = v
continue continue
if k.startswith("constrained__"): if k.startswith("constrained__"):
constrained[k] = v constrained[k] = v
else: else:
simple[k] = v simple[k] = v
simple_expansion = _expand_simple(simple) if not constrained:
constrained_expansion = _expand_constrained(constrained) expanded_items = _expand_simple(simple)
if not constrained_expansion:
final_expansion = [dict(item, **fixed) for item in simple_expansion]
else: else:
final_expansion = [ expanded_items = [
dict(simple + constrained, **fixed) for simple, constrained in simple + constrained for simple, constrained in
itertools.product(simple_expansion, constrained_expansion) itertools.product(_expand_simple(simple), _expand_constrained(constrained))
] ]
final_expansion = [dict(item, **fixed) for item in expanded_items]
if run_id: if run_id:
for i, item in enumerate(final_expansion, start=1): for i, item in enumerate(final_expansion, start=1):
item["runId"] = i item["runId"] = i