Differential D4847 Diff 24285 python_modules/dagster/dagster/core/system_config/composite_descent.py
Changeset View
Changeset View
Standalone View
Standalone View
python_modules/dagster/dagster/core/system_config/composite_descent.py
Show First 20 Lines • Show All 90 Lines • ▼ Show 20 Lines | def _composite_descent(parent_stack, solids_config_dict): | ||||
for solid in parent_stack.current_container.solids: | for solid in parent_stack.current_container.solids: | ||||
current_stack = parent_stack.descend(solid) | current_stack = parent_stack.descend(solid) | ||||
current_handle = current_stack.handle | current_handle = current_stack.handle | ||||
current_solid_config = solids_config_dict.get(solid.name, {}) | current_solid_config = solids_config_dict.get(solid.name, {}) | ||||
# the base case | # the base case | ||||
if not isinstance(solid.definition, CompositeSolidDefinition): | if not isinstance(solid.definition, (CompositeSolidDefinition, PipelineDefinition)): | ||||
config_mapped_solid_config = solid.definition.apply_config_mapping( | config_mapped_solid_config = solid.definition.apply_config_mapping( | ||||
{"config": current_solid_config.get("config")} | {"config": current_solid_config.get("config")} | ||||
) | ) | ||||
if not config_mapped_solid_config.success: | if not config_mapped_solid_config.success: | ||||
raise DagsterInvalidConfigError( | raise DagsterInvalidConfigError( | ||||
"Error in config for solid {}".format(solid.name), | "Error in config for solid {}".format(solid.name), | ||||
config_mapped_solid_config.errors, | config_mapped_solid_config.errors, | ||||
config_mapped_solid_config, | config_mapped_solid_config, | ||||
) | ) | ||||
complete_config_object = merge_dicts( | complete_config_object = merge_dicts( | ||||
current_solid_config, config_mapped_solid_config.value | current_solid_config, config_mapped_solid_config.value | ||||
) | ) | ||||
yield SolidConfigEntry(current_handle, SolidConfig.from_dict(complete_config_object)) | yield SolidConfigEntry(current_handle, SolidConfig.from_dict(complete_config_object)) | ||||
continue | continue | ||||
composite_def = check.inst(solid.definition, CompositeSolidDefinition) | composite_def = check.inst(solid.definition, (CompositeSolidDefinition, PipelineDefinition)) | ||||
yield SolidConfigEntry( | yield SolidConfigEntry( | ||||
current_handle, | current_handle, | ||||
SolidConfig.from_dict( | SolidConfig.from_dict( | ||||
{ | { | ||||
"inputs": current_solid_config.get("inputs"), | "inputs": current_solid_config.get("inputs"), | ||||
"outputs": current_solid_config.get("outputs"), | "outputs": current_solid_config.get("outputs"), | ||||
} | } | ||||
▲ Show 20 Lines • Show All 95 Lines • Show Last 20 Lines |