X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnepi%2Futil%2Fparsers%2Fxml_parser.py;h=18b7a7daee2d0eaa36ccf27d09b0570dce4c69bd;hb=039fbd9629d7570d4c175a5448d24badcd0f3aba;hp=f6ac95753c67282ced07a25bb2f91a455b35629b;hpb=b3271c629a0e152c48538924e588a80a2b1cd939;p=nepi.git diff --git a/src/nepi/util/parsers/xml_parser.py b/src/nepi/util/parsers/xml_parser.py index f6ac9575..18b7a7da 100644 --- a/src/nepi/util/parsers/xml_parser.py +++ b/src/nepi/util/parsers/xml_parser.py @@ -3,9 +3,8 @@ # Copyright (C) 2013 INRIA # # This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation; # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -17,6 +16,8 @@ # # Author: Alina Quereilhac +from __future__ import print_function + from nepi.util.netgraph import NetGraph, TopologyType from nepi.util.timefuncs import stformat, tsformat @@ -82,7 +83,7 @@ class ECXMLParser(object): try: xml = doc.toprettyxml(indent=" ", encoding="UTF-8") except: - print >>sys.stderr, "Oops: generating XML from %s" % (data,) + print("Oops: generating XML from %s" % (data,), file=sys.stderr) raise return xml @@ -121,6 +122,7 @@ class ECXMLParser(object): 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 @@ -152,7 +154,9 @@ class ECXMLParser(object): 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-type", from_type(nid2)) ngesnode.appendChild(ngenode) # Edge annotations @@ -311,6 +315,8 @@ class ECXMLParser(object): 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"): @@ -340,7 +346,13 @@ class ECXMLParser(object): 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")) + tipe2 = xmldecode(ngenode.getAttribute("nid2-type")) + nid2 = to_type(tipe2, nid2) + netgraph.add_edge(nid1, nid2) annosnode_list = ngenode.getElementsByTagName("edge-annotations")