def _gather_all_schemas(solid_defs): runtime_types = construct_runtime_type_dictionary(solid_defs) for rtt in runtime_types.values(): if rtt.input_schema: for ct in iterate_config_types(rtt.input_schema.schema_type): yield ct if rtt.output_schema: for ct in iterate_config_types(rtt.output_schema.schema_type): yield ct
def _gather_all_config_types(solid_defs, environment_type): check.list_param(solid_defs, 'solid_defs', ISolidDefinition) check.inst_param(environment_type, 'environment_type', ConfigType) for solid_def in solid_defs: for runtime_type in iterate_solid_def_types(solid_def): yield runtime_type for runtime_type in iterate_config_types(environment_type): yield runtime_type
def iterate_solid_def_types(solid_def): if isinstance(solid_def, SolidDefinition): if solid_def.config_field: for runtime_type in iterate_config_types(solid_def.config_field.config_type): yield runtime_type elif isinstance(solid_def, CompositeSolidDefinition): for solid in solid_def.solids: for def_type in iterate_solid_def_types(solid.definition): yield def_type else: check.invariant('Unexpected ISolidDefinition type {type}'.format(type=type(solid_def)))
def _gather_all_config_types(solid_defs, context_definitions, environment_type): check.list_param(solid_defs, 'solid_defs', SolidDefinition) check.dict_param( context_definitions, 'context_definitions', key_type=str, value_type=PipelineContextDefinition, ) check.inst_param(environment_type, 'environment_type', config.ConfigType) for solid_def in solid_defs: for runtime_type in iterate_solid_def_types(solid_def): yield runtime_type for context_definition in context_definitions.values(): if context_definition.config_field: context_config_type = context_definition.config_field.config_type for runtime_type in iterate_config_types(context_config_type): yield runtime_type for runtime_type in iterate_config_types(environment_type): yield runtime_type
def iterate_solid_def_types(solid_def): if solid_def.config_field: for runtime_type in iterate_config_types( solid_def.config_field.config_type): yield runtime_type