fix configdata issue, since most corehandler code did not account for using flags directly

This commit is contained in:
Blake Harnden 2020-04-01 10:56:09 -07:00
parent b29f640547
commit 72189a5c28
3 changed files with 10 additions and 4 deletions

View file

@ -1892,7 +1892,7 @@ class CoreHandler(socketserver.BaseRequestHandler):
node = self.session.get_node(node_id) node = self.session.get_node(node_id)
values = ServiceShim.tovaluelist(node, service) values = ServiceShim.tovaluelist(node, service)
config_data = ConfigData( config_data = ConfigData(
message_type=MessageFlags.NONE, message_type=0,
node=node_id, node=node_id,
object=self.session.services.name, object=self.session.services.name,
type=ConfigFlags.UPDATE.value, type=ConfigFlags.UPDATE.value,

View file

@ -18,6 +18,9 @@ def convert_node(node_data):
:param core.emulator.data.NodeData node_data: node data to convert :param core.emulator.data.NodeData node_data: node data to convert
:return: packed node message :return: packed node message
""" """
session = None
if node_data.session is not None:
session = str(node_data.session)
services = None services = None
if node_data.services is not None: if node_data.services is not None:
services = "|".join([x for x in node_data.services]) services = "|".join([x for x in node_data.services])
@ -33,7 +36,7 @@ def convert_node(node_data):
(NodeTlvs.MODEL, node_data.model), (NodeTlvs.MODEL, node_data.model),
(NodeTlvs.EMULATION_ID, node_data.emulation_id), (NodeTlvs.EMULATION_ID, node_data.emulation_id),
(NodeTlvs.EMULATION_SERVER, node_data.server), (NodeTlvs.EMULATION_SERVER, node_data.server),
(NodeTlvs.SESSION, str(node_data.session)), (NodeTlvs.SESSION, session),
(NodeTlvs.X_POSITION, int(node_data.x_position)), (NodeTlvs.X_POSITION, int(node_data.x_position)),
(NodeTlvs.Y_POSITION, int(node_data.y_position)), (NodeTlvs.Y_POSITION, int(node_data.y_position)),
(NodeTlvs.CANVAS, node_data.canvas), (NodeTlvs.CANVAS, node_data.canvas),
@ -56,6 +59,9 @@ def convert_config(config_data):
:param core.emulator.data.ConfigData config_data: config data to convert :param core.emulator.data.ConfigData config_data: config data to convert
:return: packed message :return: packed message
""" """
session = None
if config_data.session is not None:
session = str(config_data.session)
tlv_data = structutils.pack_values( tlv_data = structutils.pack_values(
coreapi.CoreConfigTlv, coreapi.CoreConfigTlv,
[ [
@ -68,7 +74,7 @@ def convert_config(config_data):
(ConfigTlvs.BITMAP, config_data.bitmap), (ConfigTlvs.BITMAP, config_data.bitmap),
(ConfigTlvs.POSSIBLE_VALUES, config_data.possible_values), (ConfigTlvs.POSSIBLE_VALUES, config_data.possible_values),
(ConfigTlvs.GROUPS, config_data.groups), (ConfigTlvs.GROUPS, config_data.groups),
(ConfigTlvs.SESSION, str(config_data.session)), (ConfigTlvs.SESSION, session),
(ConfigTlvs.INTERFACE_NUMBER, config_data.interface_number), (ConfigTlvs.INTERFACE_NUMBER, config_data.interface_number),
(ConfigTlvs.NETWORK_ID, config_data.network_id), (ConfigTlvs.NETWORK_ID, config_data.network_id),
(ConfigTlvs.OPAQUE, config_data.opaque), (ConfigTlvs.OPAQUE, config_data.opaque),

View file

@ -16,7 +16,7 @@ from core.emulator.enumerations import (
@dataclass @dataclass
class ConfigData: class ConfigData:
message_type: MessageFlags = None message_type: int = None
node: int = None node: int = None
object: str = None object: str = None
type: int = None type: int = None