When you delete a node all link connected are destroyed

Ref #608
This commit is contained in:
Julien Duponchelle committed 2016-07-05 16:07:05 +02:00
1 parent ca4d09ea40
commit 7a4c01e737
6 files changed
+55 -1

No files matched your search

+6 -1
View File
@@ -164,7 +164,7 @@ class Link:
@property
def nodes(self):
return self._nodes
return [ node['node'] for node in self._nodes ]
@property
def capturing(self):
@@ -181,6 +181,11 @@ class Link:
else:
return None
def __eq__(self, other):
if not isinstance(other, Link):
return False
return self.id == other.id
def __json__(self, topology_dump=False):
"""
:param topology_dump: Filter to keep only properties require for saving on disk
+5
View File
@@ -400,6 +400,11 @@ class Node:
def __repr__(self):
return "<gns3server.controller.Node {} {}>".format(self._node_type, self._name)
def __eq__(self, other):
if not isinstance(other, Node):
return False
return self.id == other.id and other.project.id == self.project.id
def __json__(self, topology_dump=False):
"""
:param topology_dump: Filter to keep only properties require for saving on disk
+5
View File
@@ -243,6 +243,11 @@ class Project:
def delete_node(self, node_id):
node = self.get_node(node_id)
for link in list(self._links.values()):
if node in link.nodes:
yield from self.delete_link(link.id)
self.remove_allocated_node_name(node.name)
del self._nodes[node.id]
yield from node.destroy()