(self, chat_record, start_node_id, start_node_data)
| 183 | return len(self.answer_list[-1]) > 0 |
| 184 | |
| 185 | def load_node(self, chat_record, start_node_id, start_node_data): |
| 186 | self.node_context = [] |
| 187 | self.answer = chat_record.answer_text |
| 188 | self.answer_list = chat_record.answer_text_list |
| 189 | self.answer_list.append('') |
| 190 | for node_details in sorted(chat_record.details.values(), key=lambda d: d.get('index')): |
| 191 | node_id = node_details.get('node_id') |
| 192 | if node_details.get('runtime_node_id') == start_node_id: |
| 193 | def get_node_params(n): |
| 194 | is_result = False |
| 195 | if ['application-node', 'loop-node', 'tool-workflow-lib-node'].__contains__(n.type): |
| 196 | is_result = True |
| 197 | return {**n.properties.get('node_data'), 'form_data': start_node_data, 'node_data': start_node_data, |
| 198 | 'child_node': self.child_node, 'is_result': is_result} |
| 199 | |
| 200 | self.start_node = self.get_node_cls_by_id(node_id, node_details.get('up_node_id_list'), |
| 201 | get_node_params=get_node_params) |
| 202 | self.start_node.valid_args( |
| 203 | {**self.start_node.node_params, 'form_data': start_node_data}, self.start_node.workflow_params) |
| 204 | if self.start_node.type == 'loop-node': |
| 205 | loop_node_data = node_details.get('loop_node_data', {}) |
| 206 | for k, v in node_details.get('loop_context_data').items(): |
| 207 | if v is not None: |
| 208 | self.start_node.context[k] = v |
| 209 | self.start_node.context['loop_node_data'] = loop_node_data |
| 210 | self.start_node.context['current_index'] = node_details.get('current_index') |
| 211 | self.start_node.context['current_item'] = node_details.get('current_item') |
| 212 | self.start_node.context['loop_answer_data'] = node_details.get('loop_answer_data', {}) |
| 213 | if self.start_node.type == 'application-node': |
| 214 | application_node_dict = node_details.get('application_node_dict', {}) |
| 215 | self.start_node.context['application_node_dict'] = application_node_dict |
| 216 | self.node_context.append(self.start_node) |
| 217 | continue |
| 218 | |
| 219 | node_id = node_details.get('node_id') |
| 220 | node = self.get_node_cls_by_id(node_id, node_details.get('up_node_id_list')) |
| 221 | node.valid_args(node.node_params, node.workflow_params) |
| 222 | node.save_context(node_details, self) |
| 223 | node.node_chunk.end() |
| 224 | self.node_context.append(node) |
| 225 | |
| 226 | def run(self): |
| 227 | close_old_connections() |
no test coverage detected