made preexisting nodes a local variable, renamed reuseable to delete_nodes for more clarity
This commit is contained in:
parent
4e32c9c13c
commit
27a37c77fc
1 changed files with 11 additions and 12 deletions
|
@ -59,8 +59,7 @@ class CoreClient:
|
||||||
|
|
||||||
# helpers
|
# helpers
|
||||||
self.interface_to_edge = {}
|
self.interface_to_edge = {}
|
||||||
self.reusable = []
|
self.deleted_nodes = []
|
||||||
self.preexisting = set()
|
|
||||||
self.interfaces_manager = InterfaceManager(self.app)
|
self.interfaces_manager = InterfaceManager(self.app)
|
||||||
self.created_nodes = set()
|
self.created_nodes = set()
|
||||||
self.created_links = set()
|
self.created_links = set()
|
||||||
|
@ -84,8 +83,7 @@ class CoreClient:
|
||||||
# helpers
|
# helpers
|
||||||
self.created_nodes.clear()
|
self.created_nodes.clear()
|
||||||
self.created_links.clear()
|
self.created_links.clear()
|
||||||
self.reusable.clear()
|
self.deleted_nodes.clear()
|
||||||
self.preexisting.clear()
|
|
||||||
self.interfaces_manager.reset()
|
self.interfaces_manager.reset()
|
||||||
self.interface_to_edge.clear()
|
self.interface_to_edge.clear()
|
||||||
# session data
|
# session data
|
||||||
|
@ -195,14 +193,15 @@ class CoreClient:
|
||||||
|
|
||||||
# determine next node id and reusable nodes
|
# determine next node id and reusable nodes
|
||||||
max_id = 1
|
max_id = 1
|
||||||
|
existing_nodes = set()
|
||||||
for node in session.nodes:
|
for node in session.nodes:
|
||||||
if node.id > max_id:
|
if node.id > max_id:
|
||||||
max_id = node.id
|
max_id = node.id
|
||||||
self.preexisting.add(node.id)
|
existing_nodes.add(node.id)
|
||||||
self.id = max_id
|
self.id = max_id
|
||||||
for i in range(1, self.id):
|
for i in range(1, self.id):
|
||||||
if i not in self.preexisting:
|
if i not in existing_nodes:
|
||||||
self.reusable.append(i)
|
self.deleted_nodes.append(i)
|
||||||
|
|
||||||
# draw session
|
# draw session
|
||||||
self.app.canvas.reset_and_redraw(session)
|
self.app.canvas.reset_and_redraw(session)
|
||||||
|
@ -426,12 +425,12 @@ class CoreClient:
|
||||||
:rtype: int
|
:rtype: int
|
||||||
:return: the next id to be used
|
:return: the next id to be used
|
||||||
"""
|
"""
|
||||||
if len(self.reusable) == 0:
|
if self.deleted_nodes:
|
||||||
|
return self.deleted_nodes.pop(0)
|
||||||
|
else:
|
||||||
new_id = self.id
|
new_id = self.id
|
||||||
self.id = self.id + 1
|
self.id = self.id + 1
|
||||||
return new_id
|
return new_id
|
||||||
else:
|
|
||||||
return self.reusable.pop(0)
|
|
||||||
|
|
||||||
def create_node(self, x, y, node_type, model):
|
def create_node(self, x, y, node_type, model):
|
||||||
"""
|
"""
|
||||||
|
@ -484,7 +483,7 @@ class CoreClient:
|
||||||
logging.error("unknown node: %s", node_id)
|
logging.error("unknown node: %s", node_id)
|
||||||
continue
|
continue
|
||||||
del self.canvas_nodes[node_id]
|
del self.canvas_nodes[node_id]
|
||||||
self.reusable.append(node_id)
|
self.deleted_nodes.append(node_id)
|
||||||
if node_id in self.mobility_configs:
|
if node_id in self.mobility_configs:
|
||||||
del self.mobility_configs[node_id]
|
del self.mobility_configs[node_id]
|
||||||
if node_id in self.wlan_configs:
|
if node_id in self.wlan_configs:
|
||||||
|
@ -526,7 +525,7 @@ class CoreClient:
|
||||||
deleted_cidrs = deleted_cidrs - keep_cidrs
|
deleted_cidrs = deleted_cidrs - keep_cidrs
|
||||||
for cidr in deleted_cidrs:
|
for cidr in deleted_cidrs:
|
||||||
self.interfaces_manager.deleted_cidr(cidr)
|
self.interfaces_manager.deleted_cidr(cidr)
|
||||||
self.reusable.sort()
|
self.deleted_nodes.sort()
|
||||||
|
|
||||||
def create_interface(self, canvas_node):
|
def create_interface(self, canvas_node):
|
||||||
node = canvas_node.core_node
|
node = canvas_node.core_node
|
||||||
|
|
Loading…
Add table
Reference in a new issue