in extensions/yaml_support/yaml_support/model/lg_unit_model.py [0:0]
def __save_module(self, file) -> None:
obj = {
f"{self.name}": {
"type": self.base
}
}
if "state" in self.members:
obj[self.name]["state"] = self.members["state"]
if "config" in self.members:
obj[self.name]["config"] = self.members["config"]
# inputs and outputs
inputs = set()
outputs = set()
for method in self.methods:
for subscriber in self.methods[method]["subscribers"]:
inputs.add(self.members[subscriber])
for publisher in self.methods[method]["publishers"]:
outputs.add(self.members[publisher])
obj[self.name]["inputs"] = list(inputs)
obj[self.name]["outputs"] = list(outputs)
if self.base in (
LabGraphBuiltinUnits.GROUP,
LabGraphBuiltinUnits.GRAPH
):
if "OUTPUT" in self.members:
obj[self.name]["outputs"] = [self.members["OUTPUT"]]
if "connections" in self.methods:
connections: Dict[str, str] = {
self.members[k]:
(self.members[v] if v != self.name else v)
for k, v in
self.methods["connections"]["return"]
["connections_dict"].items()
}
obj[self.name]["connections"] = connections
YamlSerializer.serialize(obj, file)