Exemplo n.º 1
0
def define_solid_dictionary_cls(
    solids,
    ignored_solids,
    dependency_structure,
    parent_handle=None,
):
    check.list_param(solids, "solids", of_type=Solid)
    ignored_solids = check.opt_list_param(ignored_solids,
                                          "ignored_solids",
                                          of_type=Solid)
    check.inst_param(dependency_structure, "dependency_structure",
                     DependencyStructure)
    check.opt_inst_param(parent_handle, "parent_handle", SolidHandle)

    fields = {}
    for solid in solids:
        if solid.definition.has_config_entry:
            fields[solid.name] = define_isolid_field(solid,
                                                     SolidHandle(
                                                         solid.name,
                                                         parent_handle),
                                                     dependency_structure,
                                                     ignored=False)

    for solid in ignored_solids:
        if solid.definition.has_config_entry:
            fields[solid.name] = define_isolid_field(solid,
                                                     SolidHandle(
                                                         solid.name,
                                                         parent_handle),
                                                     dependency_structure,
                                                     ignored=True)

    return Shape(fields)
Exemplo n.º 2
0
def define_solid_dictionary_cls(
    solids, ignored_solids, dependency_structure, resource_defs, parent_handle=None,
):
    check.list_param(solids, "solids", of_type=Solid)
    ignored_solids = check.opt_list_param(ignored_solids, "ignored_solids", of_type=Solid)
    check.inst_param(dependency_structure, "dependency_structure", DependencyStructure)
    check.opt_inst_param(parent_handle, "parent_handle", SolidHandle)

    fields = {}
    for solid in solids:
        solid_field = define_isolid_field(
            solid,
            SolidHandle(solid.name, parent_handle),
            dependency_structure,
            resource_defs,
            ignored=False,
        )

        if solid_field:
            fields[solid.name] = solid_field

    for solid in ignored_solids:
        solid_field = define_isolid_field(
            solid,
            SolidHandle(solid.name, parent_handle),
            dependency_structure,
            resource_defs,
            ignored=True,
        )
        if solid_field:
            fields[solid.name] = solid_field

    return Shape(fields)
Exemplo n.º 3
0
def define_solid_dictionary_cls(
    solids: List[Node],
    ignored_solids: Optional[List[Node]],
    dependency_structure: DependencyStructure,
    resource_defs: Dict[str, ResourceDefinition],
    is_using_graph_job_op_apis: bool,
    parent_handle: Optional[NodeHandle] = None,
) -> Shape:
    ignored_solids = check.opt_list_param(ignored_solids,
                                          "ignored_solids",
                                          of_type=Node)

    fields = {}
    for solid in solids:
        solid_field = define_isolid_field(
            solid,
            NodeHandle(solid.name, parent_handle),
            dependency_structure,
            resource_defs,
            ignored=False,
            is_using_graph_job_op_apis=is_using_graph_job_op_apis,
        )

        if solid_field:
            fields[solid.name] = solid_field

    for solid in ignored_solids:
        solid_field = define_isolid_field(
            solid,
            NodeHandle(solid.name, parent_handle),
            dependency_structure,
            resource_defs,
            ignored=True,
            is_using_graph_job_op_apis=is_using_graph_job_op_apis,
        )
        if solid_field:
            fields[solid.name] = solid_field

    field_aliases = {
        "ops": "solids"
    } if is_using_graph_job_op_apis else {
        "solids": "ops"
    }
    return Shape(fields, field_aliases=field_aliases)
Exemplo n.º 4
0
def define_solid_dictionary_cls(
    solids: List[Solid],
    ignored_solids: Optional[List[Solid]],
    dependency_structure: DependencyStructure,
    resource_defs: Dict[str, ResourceDefinition],
    parent_handle: Optional[SolidHandle] = None,
) -> Shape:
    ignored_solids = check.opt_list_param(ignored_solids,
                                          "ignored_solids",
                                          of_type=Solid)

    fields = {}
    for solid in solids:
        solid_field = define_isolid_field(
            solid,
            SolidHandle(solid.name, parent_handle),
            dependency_structure,
            resource_defs,
            ignored=False,
        )

        if solid_field:
            fields[solid.name] = solid_field

    for solid in ignored_solids:
        solid_field = define_isolid_field(
            solid,
            SolidHandle(solid.name, parent_handle),
            dependency_structure,
            resource_defs,
            ignored=True,
        )
        if solid_field:
            fields[solid.name] = solid_field

    return Shape(fields)