Network: Add edge add and del command.

This commit is contained in:
Pierre-Antoine Rouby committed 2023-06-09 09:33:13 +02:00
1 parent 520d8f73df
commit ded95ef097
3 files changed
+61 -14

No files matched your search

+22 -12
View File
@@ -103,10 +103,29 @@ class Graph(object):
def insert_node(self, node):
return self._add_node(node)
def remove_node(self, node_name:str):
self._nodes = list(
filter(
lambda n: n.name != node_name,
self._nodes
)
)
self._status.modified()
def create_node(self, x:float = 0.0, y:float = 0.0):
node = self._create_node(x, y)
return node
def _create_edge(self, n1:Node, n2:Node):
edge = self._edge_ctor(
self._edges_ids,
"", n1, n2,
status = self._status
)
self._edges_ids += 1
return edge
def _add_edge(self, edge):
# This edge already exists ?
if any(filter(lambda e: (e.node1 == edge.node1 and
@@ -115,28 +134,19 @@ class Graph(object):
return None
self._edges.append(edge)
self._edges_ids += 1
self._status.modified()
return edge
def add_edge(self, n1:Node, n2:Node):
edge = self._edge_ctor(self._edges_ids,
"", n1, n2,
status = self._status)
edge = self._create_edge(n1, n2)
return self._add_edge(edge)
def insert_edge(self, edge):
return self._add_edge(edge)
def remove_node(self, node_name:str):
self._nodes = list(
filter(
lambda n: n.name != node_name,
self._nodes
)
)
self._status.modified()
def create_edge(self, n1:Node, n2:Node):
return self._create_edge(n1, n2)
def remove_edge(self, edge_name:str):
self._edges = list(