MCPcopy Create free account
hub / github.com/BUPT-GAMMA/MASFactory / merge_message

Function merge_message

masfactory/core/node.py:11–26  ·  view source on GitHub ↗
(input:dict[str,object], message:dict[str,object])

Source from the content-addressed store, hash-verified

9if TYPE_CHECKING:
10 from .edge import Edge
11def merge_message(input:dict[str,object], message:dict[str,object]):
12 for key in message.keys():
13 if key in input.keys():
14 input_val = input[key]
15 message_val = message[key]
16 if isinstance(input_val,list) and isinstance(message_val,list):
17 input_val.extend(message_val)
18 elif isinstance(input_val,dict) and isinstance(message_val,dict):
19 input_val.update(message_val)
20 elif isinstance(input_val,list) and not isinstance(message_val,list):
21 input_val.append(message_val)
22 else:
23 input[key] = [input_val, message_val]
24 else:
25 input[key] = message[key]
26 return input
27class Node(ABC):
28 """Base node type for MASFactory graphs.
29

Callers 1

_message_aggregate_inMethod · 0.85

Calls 2

keysMethod · 0.80
updateMethod · 0.45

Tested by

no test coverage detected