git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix typo
[sfa.git]
/
sfa
/
rspecs
/
pg_rspec_converter.py
diff --git
a/sfa/rspecs/pg_rspec_converter.py
b/sfa/rspecs/pg_rspec_converter.py
index
586c02b
..
1c57d7d
100755
(executable)
--- a/
sfa/rspecs/pg_rspec_converter.py
+++ b/
sfa/rspecs/pg_rspec_converter.py
@@
-1,9
+1,9
@@
#!/usr/bin/python
from lxml import etree
from StringIO import StringIO
#!/usr/bin/python
from lxml import etree
from StringIO import StringIO
-from sfa.util.xrn import
*
-from sfa.rspecs.
pg_rspec import PGRSpec
-from sfa.rspecs.
sfa_rspec import SfaRSpec
+from sfa.util.xrn import
Xrn, urn_to_hrn
+from sfa.rspecs.
rspec import RSpec
+from sfa.rspecs.
version_manager import VersionManager
xslt='''<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
xslt='''<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="no"/>
@@
-34,33
+34,39
@@
transform=etree.XSLT(xslt_doc)
class PGRSpecConverter:
@staticmethod
class PGRSpecConverter:
@staticmethod
- def to_sfa_rspec(rspec):
- if isinstance(rspec, PGRSpec):
+ def to_sfa_rspec(rspec, content_type = None):
+ if not isinstance(rspec, RSpec):
+ pg_rspec = RSpec(rspec)
+ else:
pg_rspec = rspec
pg_rspec = rspec
- else:
- pg_rspec = PGRSpec(rspec=rspec)
- sfa_rspec = SfaRSpec()
+
+ version_manager = VersionManager()
+ sfa_version = version_manager._get_version('sfa', '1')
+ sfa_rspec = RSpec(version=sfa_version)
# get network
# get network
- network_urn = pg_rspec.get_network()
+ network_urn = pg_rspec.
version.
get_network()
network, _ = urn_to_hrn(network_urn)
network, _ = urn_to_hrn(network_urn)
- network_element = sfa_rspec.add_element('network', {'name': network, 'id': network})
+ network_element = sfa_rspec.
xml.
add_element('network', {'name': network, 'id': network})
# get nodes
# get nodes
- pg_nodes_elements = pg_rspec.get_node_elements()
- nodes_with_slivers = pg_rspec.get_nodes_with_slivers()
+ pg_nodes_elements = pg_rspec.
version.
get_node_elements()
+ nodes_with_slivers = pg_rspec.
version.
get_nodes_with_slivers()
i = 1
for pg_node_element in pg_nodes_elements:
i = 1
for pg_node_element in pg_nodes_elements:
- node_element = sfa_rspec.add_element('node', {'id': 'n'+str(i)}, parent=network_element)
+ attribs = dict(pg_node_element.attrib.items())
+ attribs['id'] = 'n'+str(i)
+
+ node_element = sfa_rspec.xml.add_element('node', attribs, parent=network_element)
urn = pg_node_element.xpath('@component_id', namespaces=pg_rspec.namespaces)
if urn:
urn = urn[0]
hostname = Xrn.urn_split(urn)[-1]
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.add_element('hostname', parent=node_element, text=hostname)
+ hostname_element = sfa_rspec.
xml.
add_element('hostname', parent=node_element, text=hostname)
if hostname in nodes_with_slivers:
if hostname in nodes_with_slivers:
- sfa_rspec.add_element('sliver', parent=node_element)
+ sfa_rspec.
xml.
add_element('sliver', parent=node_element)
- urn_element = sfa_rspec.add_element('urn', parent=node_element, text=urn)
+ urn_element = sfa_rspec.
xml.
add_element('urn', parent=node_element, text=urn)
# just copy over remaining child elements
# just copy over remaining child elements