From 95cd7926756b7edb6b86df4f69dd2458985b1e77 Mon Sep 17 00:00:00 2001 From: bharnden <32446120+bharnden@users.noreply.github.com> Date: Fri, 15 Nov 2019 23:45:01 -0800 Subject: [PATCH] updated check for creating interfaces on nodes --- coretk/coretk/coreclient.py | 8 ++------ coretk/coretk/dialogs/nodeconfig.py | 3 ++- coretk/coretk/nodeutils.py | 5 +++++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/coretk/coretk/coreclient.py b/coretk/coretk/coreclient.py index c57a0b42..3c63e6bc 100644 --- a/coretk/coretk/coreclient.py +++ b/coretk/coretk/coreclient.py @@ -9,11 +9,10 @@ from coretk.dialogs.sessions import SessionsDialog from coretk.emaneodelnodeconfig import EmaneModelNodeConfig from coretk.interface import InterfaceManager from coretk.mobilitynodeconfig import MobilityNodeConfig -from coretk.nodeutils import NodeDraw +from coretk.nodeutils import NodeDraw, NodeUtils from coretk.servicenodeconfig import ServiceNodeConfig from coretk.wlannodeconfig import WlanNodeConfig -DEFAULT_NODES = {"router", "host", "PC", "mdr", "prouter"} OBSERVERS = { "processes": "ps", "ifconfig": "ifconfig", @@ -406,9 +405,6 @@ class CoreClient: else: return self.reusable.pop(0) - def is_model_node(self, name): - return name in DEFAULT_NODES or name in self.custom_nodes - def create_node(self, x, y, node_type, model): """ Add node, with information filled in, to grpc manager @@ -511,7 +507,7 @@ class CoreClient: def create_interface(self, canvas_node): interface = None core_node = canvas_node.core_node - if self.is_model_node(core_node.model): + if NodeUtils.is_interface_node(core_node.type): ifid = len(canvas_node.interfaces) name = f"eth{ifid}" interface = core_pb2.Interface( diff --git a/coretk/coretk/dialogs/nodeconfig.py b/coretk/coretk/dialogs/nodeconfig.py index 14e9de03..57c2fcfb 100644 --- a/coretk/coretk/dialogs/nodeconfig.py +++ b/coretk/coretk/dialogs/nodeconfig.py @@ -1,11 +1,12 @@ import tkinter as tk from tkinter import ttk -from coretk.coreclient import DEFAULT_NODES from coretk.dialogs.dialog import Dialog from coretk.dialogs.icondialog import IconDialog from coretk.dialogs.nodeservice import NodeService +DEFAULT_NODES = {"router", "host", "PC", "mdr", "prouter"} + class NodeConfigDialog(Dialog): def __init__(self, master, app, canvas_node): diff --git a/coretk/coretk/nodeutils.py b/coretk/coretk/nodeutils.py index df483ba6..6777718a 100644 --- a/coretk/coretk/nodeutils.py +++ b/coretk/coretk/nodeutils.py @@ -44,6 +44,11 @@ class NodeUtils: NODES = [] NETWORK_NODES = [] NODE_ICONS = {} + INTERFACE_NODE = {NodeType.DEFAULT, NodeType.DOCKER, NodeType.LXC} + + @classmethod + def is_interface_node(cls, node_type): + return node_type in cls.INTERFACE_NODE @classmethod def node_icon(cls, node_type, model):