1414 Route ,
1515 Script ,
1616 Link ,
17+ BareSegmentor ,
18+ BareReconstructor ,
1719)
1820from typing import Dict
1921
@@ -32,7 +34,9 @@ def build_from_response(response: Dict, load_architecture: bool = False) -> Pipe
3234 response ["api_key" ] = config .TEAM_API_KEY
3335
3436 # instantiating pipeline generic info
35- pipeline = Pipeline (response ["id" ], response ["name" ], response ["api_key" ])
37+ pipeline = Pipeline (
38+ id = response ["id" ], name = response ["name" ], api_key = response ["api_key" ], status = response .get ("status" , "draft" )
39+ )
3640 if load_architecture is True :
3741 try :
3842 # instantiating nodes
@@ -45,39 +49,68 @@ def build_from_response(response: Dict, load_architecture: bool = False) -> Pipe
4549 elif node_json ["type" ].lower () == "asset" :
4650 if node_json ["functionType" ] == "metric" :
4751 node = BareMetric (asset_id = node_json ["assetId" ])
52+ elif node_json ["functionType" ] == "reconstructor" :
53+ node = BareReconstructor (asset_id = node_json ["assetId" ])
54+ elif node_json ["functionType" ] == "segmentor" :
55+ node = BareSegmentor (asset_id = node_json ["assetId" ])
4856 else :
4957 node = BareAsset (asset_id = node_json ["assetId" ])
50- elif node_json ["type" ].lower () == "segmentor" :
51- raise NotImplementedError ()
52- elif node_json ["type" ].lower () == "reconstructor" :
53- raise NotImplementedError ()
5458 elif node_json ["type" ].lower () == "decision" :
55- node = Decision (routes = [Route (** route ) for route in node_json ["routes" ]])
59+ node = Decision (
60+ routes = [Route (** route ) for route in node_json ["routes" ]]
61+ )
5662 elif node_json ["type" ].lower () == "router" :
57- node = Router (routes = [Route (** route ) for route in node_json ["routes" ]])
63+ node = Router (
64+ routes = [Route (** route ) for route in node_json ["routes" ]]
65+ )
5866 elif node_json ["type" ].lower () == "script" :
59- node = Script (fileId = node_json ["fileId" ], fileMetadata = node_json ["fileMetadata" ])
67+ node = Script (
68+ fileId = node_json ["fileId" ],
69+ fileMetadata = node_json ["fileMetadata" ],
70+ )
6071 elif node_json ["type" ].lower () == "output" :
6172 node = Output ()
6273
6374 if "inputValues" in node_json :
6475 [
6576 node .inputs .create_param (
66- data_type = DataType (input_param ["dataType" ]) if "dataType" in input_param else None ,
77+ data_type = (
78+ DataType (input_param ["dataType" ])
79+ if "dataType" in input_param
80+ else None
81+ ),
6782 code = input_param ["code" ],
68- value = input_param ["value" ] if "value" in input_param else None ,
69- is_required = input_param ["isRequired" ] if "isRequired" in input_param else False ,
83+ value = (
84+ input_param ["value" ] if "value" in input_param else None
85+ ),
86+ is_required = (
87+ input_param ["isRequired" ]
88+ if "isRequired" in input_param
89+ else False
90+ ),
7091 )
7192 for input_param in node_json ["inputValues" ]
7293 if input_param ["code" ] not in node .inputs
7394 ]
7495 if "outputValues" in node_json :
7596 [
7697 node .outputs .create_param (
77- data_type = DataType (output_param ["dataType" ]) if "dataType" in output_param else None ,
98+ data_type = (
99+ DataType (output_param ["dataType" ])
100+ if "dataType" in output_param
101+ else None
102+ ),
78103 code = output_param ["code" ],
79- value = output_param ["value" ] if "value" in output_param else None ,
80- is_required = output_param ["isRequired" ] if "isRequired" in output_param else False ,
104+ value = (
105+ output_param ["value" ]
106+ if "value" in output_param
107+ else None
108+ ),
109+ is_required = (
110+ output_param ["isRequired" ]
111+ if "isRequired" in output_param
112+ else False
113+ ),
81114 )
82115 for output_param in node_json ["outputValues" ]
83116 if output_param ["code" ] not in node .outputs
0 commit comments