Patch bug where traceXML crashes if port does not appear in inputs or outputs

This commit is contained in:
Van Tendeloo 2019-01-23 20:24:55 +01:00
parent 88894fc2d5
commit 860ea4ee01

View file

@ -93,7 +93,7 @@ class TracerXML(object):
if (aDEVS.OPorts[I] in aDEVS.my_output and if (aDEVS.OPorts[I] in aDEVS.my_output and
aDEVS.my_output[aDEVS.OPorts[I]] is not None): aDEVS.my_output[aDEVS.OPorts[I]] is not None):
port_info += '<port name="' + aDEVS.OPorts[I].getPortName() + '" category="O">\n' port_info += '<port name="' + aDEVS.OPorts[I].getPortName() + '" category="O">\n'
for j in aDEVS.my_output[aDEVS.OPorts[I]]: for j in aDEVS.my_output.get(aDEVS.OPorts[I], []):
port_info += "<message>" + str(j) + "</message>\n</port>\n" port_info += "<message>" + str(j) + "</message>\n</port>\n"
runTraceAtController(self.server, runTraceAtController(self.server,
self.uid, self.uid,
@ -114,7 +114,7 @@ class TracerXML(object):
port_info = "" port_info = ""
for I in range(len(aDEVS.IPorts)): for I in range(len(aDEVS.IPorts)):
port_info += '<port name="' + aDEVS.IPorts[I].getPortName() + '" category="I">\n' port_info += '<port name="' + aDEVS.IPorts[I].getPortName() + '" category="I">\n'
for j in aDEVS.my_input[aDEVS.IPorts[I]]: for j in aDEVS.my_input.get(aDEVS.IPorts[I], []):
port_info += "<message>" + str(j) + "</message>\n</port>\n" port_info += "<message>" + str(j) + "</message>\n</port>\n"
runTraceAtController(self.server, runTraceAtController(self.server,
self.uid, self.uid,
@ -135,7 +135,7 @@ class TracerXML(object):
port_info = "" port_info = ""
for I in range(len(aDEVS.IPorts)): for I in range(len(aDEVS.IPorts)):
port_info += '<port name="' + aDEVS.IPorts[I].getPortName() + '" category="I">\n' port_info += '<port name="' + aDEVS.IPorts[I].getPortName() + '" category="I">\n'
for j in aDEVS.my_input[aDEVS.IPorts[I]]: for j in aDEVS.my_input.get(aDEVS.IPorts[I], []):
port_info += "<message>" + str(j) + "</message>\n</port>\n" port_info += "<message>" + str(j) + "</message>\n</port>\n"
runTraceAtController(self.server, runTraceAtController(self.server,
self.uid, self.uid,
@ -150,7 +150,7 @@ class TracerXML(object):
for I in range(len(aDEVS.OPorts)): for I in range(len(aDEVS.OPorts)):
if aDEVS.OPorts[I] in aDEVS.my_output: if aDEVS.OPorts[I] in aDEVS.my_output:
port_info += '<port name="' + aDEVS.OPorts[I].getPortName() + '" category="O">\n' port_info += '<port name="' + aDEVS.OPorts[I].getPortName() + '" category="O">\n'
for j in aDEVS.my_output[aDEVS.OPorts[I]]: for j in aDEVS.my_output.get(aDEVS.OPorts[I], []):
port_info += "<message>" + str(j) + "</message>\n</port>\n" port_info += "<message>" + str(j) + "</message>\n</port>\n"
runTraceAtController(self.server, runTraceAtController(self.server,
self.uid, self.uid,