#!/usr/bin/python
+from __future__ import print_function
+
from lxml import etree
-from StringIO import StringIO
from sfa.util.xrn import Xrn, urn_to_hrn
from sfa.rspecs.rspec import RSpec
from sfa.rspecs.version_manager import VersionManager
+from sfa.util.py23 import StringIO
+
xslt='''<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
node_element.set(attrib, attribs[attrib])
urn = pg_node["component_id"]
if urn:
- urn = urn[0]
+ if type(urn)==list:
+ # legacy code, not sure if urn is ever a list...
+ urn = urn[0]
hostname = Xrn.urn_split(urn)[-1]
hostname_element = node_element.add_element('hostname')
hostname_element.set_text(hostname)
if hostname in nodes_with_slivers:
- node_element.add_element('sliver')
+ node_element.add_element('sliver')
+
+ for hardware_type in pg_node["hardware_types"]:
+ if "name" in hardware_type:
+ node_element.add_element("hardware_type", name=hardware_type["name"])
# just copy over remaining child elements
#for child in pg_node_element.getchildren():
if __name__ == '__main__':
import sys
if len(sys.argv) > 1:
- print PGRSpecConverter.to_sfa_rspec(sys.argv[1])
+ print(PGRSpecConverter.to_sfa_rspec(sys.argv[1]))