git://git.onelab.eu
/
nepi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Bug fixing the netgraph persistence
[nepi.git]
/
src
/
nepi
/
util
/
parsers
/
xml_parser.py
diff --git
a/src/nepi/util/parsers/xml_parser.py
b/src/nepi/util/parsers/xml_parser.py
index
ca68be1
..
4f3f1d9
100644
(file)
--- a/
src/nepi/util/parsers/xml_parser.py
+++ b/
src/nepi/util/parsers/xml_parser.py
@@
-121,6
+121,7
@@
class ECXMLParser(object):
for nid in ec.netgraph.nodes():
ngnnode = doc.createElement("node")
ngnnode.setAttribute("nid", xmlencode(nid))
for nid in ec.netgraph.nodes():
ngnnode = doc.createElement("node")
ngnnode.setAttribute("nid", xmlencode(nid))
+ ngnnode.setAttribute("nid-type", from_type(nid))
ngnsnode.appendChild(ngnnode)
# Mark ources and targets
ngnsnode.appendChild(ngnnode)
# Mark ources and targets
@@
-152,7
+153,9
@@
class ECXMLParser(object):
for nid1, nid2 in ec.netgraph.edges():
ngenode = doc.createElement("edge")
ngenode.setAttribute("nid1", xmlencode(nid1))
for nid1, nid2 in ec.netgraph.edges():
ngenode = doc.createElement("edge")
ngenode.setAttribute("nid1", xmlencode(nid1))
+ ngenode.setAttribute("nid1-type", from_type(nid1))
ngenode.setAttribute("nid2", xmlencode(nid2))
ngenode.setAttribute("nid2", xmlencode(nid2))
+ ngenode.setAttribute("nid2-type", from_type(nid2))
ngesnode.appendChild(ngenode)
# Edge annotations
ngesnode.appendChild(ngenode)
# Edge annotations
@@
-267,12
+270,18
@@
class ECXMLParser(object):
os.environ["NEPI_NTHREADS"] = nthreads
# Deserialize netgraph
os.environ["NEPI_NTHREADS"] = nthreads
# Deserialize netgraph
+ topology = None
+ topo_type = None
+
netgraph = self._netgraph_from_xml(doc, ecnode)
netgraph = self._netgraph_from_xml(doc, ecnode)
- topo_type = netgraph.topo_type if netgraph else None
+
+ if netgraph:
+ topo_type = netgraph.topo_type
+ topology = netgraph.topology
# Instantiate EC
ec = ExperimentController(exp_id = exp_id, local_dir = local_dir,
# Instantiate EC
ec = ExperimentController(exp_id = exp_id, local_dir = local_dir,
- topology =
netgraph.
topology, topo_type = topo_type)
+ topology = topology, topo_type = topo_type)
connections = set()
connections = set()
@@
-305,6
+314,8
@@
class ECXMLParser(object):
ngnsnode = ngnsnode_list[0].getElementsByTagName("node")
for ngnnode in ngnsnode:
nid = xmldecode(ngnnode.getAttribute("nid"))
ngnsnode = ngnsnode_list[0].getElementsByTagName("node")
for ngnnode in ngnsnode:
nid = xmldecode(ngnnode.getAttribute("nid"))
+ tipe = xmldecode(ngnnode.getAttribute("nid-type"))
+ nid = to_type(tipe, nid)
netgraph.add_node(nid)
if ngnnode.hasAttribute("source"):
netgraph.add_node(nid)
if ngnnode.hasAttribute("source"):
@@
-334,7
+345,13
@@
class ECXMLParser(object):
ngesnode = ngesnode_list[0].getElementsByTagName("edge")
for ngenode in ngesnode:
nid1 = xmldecode(ngenode.getAttribute("nid1"))
ngesnode = ngesnode_list[0].getElementsByTagName("edge")
for ngenode in ngesnode:
nid1 = xmldecode(ngenode.getAttribute("nid1"))
+ tipe1 = xmldecode(ngenode.getAttribute("nid1-type"))
+ nid1 = to_type(tipe1, nid1)
+
nid2 = xmldecode(ngenode.getAttribute("nid2"))
nid2 = xmldecode(ngenode.getAttribute("nid2"))
+ tipe2 = xmldecode(ngenode.getAttribute("nid2-type"))
+ nid2 = to_type(tipe2, nid2)
+
netgraph.add_edge(nid1, nid2)
annosnode_list = ngenode.getElementsByTagName("edge-annotations")
netgraph.add_edge(nid1, nid2)
annosnode_list = ngenode.getElementsByTagName("edge-annotations")