Differential D4847 Diff 24285 python_modules/dagster/dagster/core/definitions/environment_configs.py
Changeset View
Changeset View
Standalone View
Standalone View
python_modules/dagster/dagster/core/definitions/environment_configs.py
Show All 10 Lines | from dagster.core.storage.system_storage import ( | ||||
default_system_storage_defs, | default_system_storage_defs, | ||||
) | ) | ||||
from dagster.core.types.dagster_type import ALL_RUNTIME_BUILTINS, construct_dagster_type_dictionary | from dagster.core.types.dagster_type import ALL_RUNTIME_BUILTINS, construct_dagster_type_dictionary | ||||
from dagster.utils import check, ensure_single_item | from dagster.utils import check, ensure_single_item | ||||
from .dependency import DependencyStructure, Solid, SolidHandle, SolidInputHandle | from .dependency import DependencyStructure, Solid, SolidHandle, SolidInputHandle | ||||
from .logger import LoggerDefinition | from .logger import LoggerDefinition | ||||
from .mode import ModeDefinition | from .mode import ModeDefinition | ||||
from .pipeline import PipelineDefinition | |||||
from .resource import ResourceDefinition | from .resource import ResourceDefinition | ||||
from .solid import CompositeSolidDefinition, ISolidDefinition, SolidDefinition | from .solid import CompositeSolidDefinition, ISolidDefinition, SolidDefinition | ||||
def _is_selector_field_optional(config_type): | def _is_selector_field_optional(config_type): | ||||
check.inst_param(config_type, "config_type", ConfigType) | check.inst_param(config_type, "config_type", ConfigType) | ||||
if len(config_type.fields) > 1: | if len(config_type.fields) > 1: | ||||
return False | return False | ||||
▲ Show 20 Lines • Show All 251 Lines • ▼ Show 20 Lines | def define_isolid_field(solid, handle, dependency_structure): | ||||
# 4) `configured` composite with field mapping: a 'config' key with the config_schema that was | # 4) `configured` composite with field mapping: a 'config' key with the config_schema that was | ||||
# provided when `configured` was called (via CompositeSolidDefinition#config_schema) | # provided when `configured` was called (via CompositeSolidDefinition#config_schema) | ||||
if isinstance(solid.definition, SolidDefinition): | if isinstance(solid.definition, SolidDefinition): | ||||
return construct_leaf_solid_config( | return construct_leaf_solid_config( | ||||
solid, handle, dependency_structure, solid.definition.config_schema | solid, handle, dependency_structure, solid.definition.config_schema | ||||
) | ) | ||||
composite_def = check.inst(solid.definition, CompositeSolidDefinition) | composite_def = check.inst(solid.definition, (CompositeSolidDefinition, PipelineDefinition)) | ||||
if composite_def.has_config_mapping: | if composite_def.has_config_mapping: | ||||
# has_config_mapping covers cases 2 & 4 from above (only config mapped composite solids can | # has_config_mapping covers cases 2 & 4 from above (only config mapped composite solids can | ||||
# be `configured`)... | # be `configured`)... | ||||
return construct_leaf_solid_config( | return construct_leaf_solid_config( | ||||
solid, | solid, | ||||
handle, | handle, | ||||
dependency_structure, | dependency_structure, | ||||
Show All 32 Lines | |||||
def iterate_solid_def_config_types(solid_def): | def iterate_solid_def_config_types(solid_def): | ||||
if isinstance(solid_def, SolidDefinition): | if isinstance(solid_def, SolidDefinition): | ||||
if solid_def.config_schema: | if solid_def.config_schema: | ||||
for config_type in iterate_config_types(solid_def.config_schema.config_type): | for config_type in iterate_config_types(solid_def.config_schema.config_type): | ||||
yield config_type | yield config_type | ||||
elif isinstance(solid_def, CompositeSolidDefinition): | elif isinstance(solid_def, (CompositeSolidDefinition, PipelineDefinition)): | ||||
for solid in solid_def.solids: | for solid in solid_def.solids: | ||||
for config_type in iterate_solid_def_config_types(solid.definition): | for config_type in iterate_solid_def_config_types(solid.definition): | ||||
yield config_type | yield config_type | ||||
else: | else: | ||||
check.invariant("Unexpected ISolidDefinition type {type}".format(type=type(solid_def))) | check.invariant("Unexpected ISolidDefinition type {type}".format(type=type(solid_def))) | ||||
▲ Show 20 Lines • Show All 49 Lines • Show Last 20 Lines |