X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Fpg_rspec_converter.py;h=5cccf9725413e9f0e2733c6ed898985a1e3b1c46;hb=6ccf12bc13292a79d4e9bb3c027f8d193d502ebe;hp=42e7ccdfd75d11f1d5852f1697679933361cc623;hpb=5bb8f044e0085d73ec79abb1822421db3fc50101;p=sfa.git diff --git a/sfa/rspecs/pg_rspec_converter.py b/sfa/rspecs/pg_rspec_converter.py index 42e7ccdf..5cccf972 100755 --- a/sfa/rspecs/pg_rspec_converter.py +++ b/sfa/rspecs/pg_rspec_converter.py @@ -1,7 +1,7 @@ #!/usr/bin/python from lxml import etree from StringIO import StringIO -from sfa.util.xrn import * +from sfa.util.xrn import Xrn, urn_to_hrn from sfa.rspecs.rspec import RSpec from sfa.rspecs.version_manager import VersionManager @@ -44,10 +44,15 @@ class PGRSpecConverter: sfa_version = version_manager._get_version('sfa', '1') sfa_rspec = RSpec(version=sfa_version) + #nodes = pg_rspec.version.get_nodes() + #sfa_rspec.version.add_nodes(nodes()) + #sfa_rspec.version.add_links(pg_rspec.version.get_links()) + #return sfa_rspec.toxml() + # get network - network_urn = pg_rspec.version.get_network() - network, _ = urn_to_hrn(network_urn) - network_element = sfa_rspec.xml.add_element('network', {'name': network, 'id': network}) + networks = pg_rspec.version.get_networks() + network_hrn = networks[0] + network_element = sfa_rspec.xml.add_element('network', name=network_hrn, id=network_hrn) # get nodes pg_nodes_elements = pg_rspec.version.get_node_elements() @@ -57,18 +62,18 @@ class PGRSpecConverter: attribs = dict(pg_node_element.attrib.items()) attribs['id'] = 'n'+str(i) - node_element = sfa_rspec.xml.add_element('node', attribs, parent=network_element) + node_element = network_element.add_element('node') + for attrib in attribs: + node_element.set(attrib, attribs[attrib]) urn = pg_node_element.xpath('@component_id', namespaces=pg_rspec.namespaces) if urn: urn = urn[0] hostname = Xrn.urn_split(urn)[-1] - hostname_element = sfa_rspec.xml.add_element('hostname', parent=node_element, text=hostname) + hostname_element = node_element.add_element('hostname') + hostname_element.set_text(hostname) if hostname in nodes_with_slivers: - sfa_rspec.xml.add_element('sliver', parent=node_element) + node_element.add_element('sliver') - urn_element = sfa_rspec.xml.add_element('urn', parent=node_element, text=urn) - - # just copy over remaining child elements for child in pg_node_element.getchildren(): node_element.append(transform(child).getroot())