From 67c6779b20bd09df0be976fe23a4ebc79e569cc4 Mon Sep 17 00:00:00 2001 From: Joeri Exelmans Date: Tue, 29 Oct 2024 16:14:10 +0100 Subject: [PATCH] Clearer error when creating link between non-existing objects --- services/od.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/services/od.py b/services/od.py index 6f34b66..92214ad 100644 --- a/services/od.py +++ b/services/od.py @@ -167,8 +167,14 @@ class OD: return assoc_name def create_link(self, link_name: Optional[str], assoc_name: str, src_obj_name: str, tgt_obj_name: str): - src_obj_node, = self.bottom.read_outgoing_elements(self.model, src_obj_name) - tgt_obj_node, = self.bottom.read_outgoing_elements(self.model, tgt_obj_name) + src_obj_nodes = self.bottom.read_outgoing_elements(self.model, src_obj_name) + if len(src_obj_nodes) == 0: + raise Exception(f"Cannot create link '{link_name}' ({assoc_name}): source object '{src_obj_name}'' not found") + src_obj_node = src_obj_nodes[0] + tgt_obj_nodes = self.bottom.read_outgoing_elements(self.model, tgt_obj_name) + if len(tgt_obj_nodes) == 0: + raise Exception(f"Cannot create link '{link_name}' ({assoc_name}): target object '{tgt_obj_name}'' not found") + tgt_obj_node = tgt_obj_nodes[0] # generate a unique name for the link if link_name == None: