From 65fc63a777c4a97ab617af523c36ea17e5ca6f7c Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 28 Nov 2011 14:22:21 -0500 Subject: [PATCH] fix merge() --- sfa/rspecs/versions/pgv2.py | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sfa/rspecs/versions/pgv2.py b/sfa/rspecs/versions/pgv2.py index b336f3d8..fba1a264 100644 --- a/sfa/rspecs/versions/pgv2.py +++ b/sfa/rspecs/versions/pgv2.py @@ -167,12 +167,24 @@ class PGv2(BaseVersion): """ from sfa.rspecs.rspec import RSpec # just copy over all the child elements under the root element - if isinstance(in_rspec, RSpec): - in_rspec = in_rspec.toxml() + if isinstance(in_rspec, basestring): + in_rspec = RSpec(in_rspec) + + nodes = in_rspec.version.get_nodes() + # protogeni rspecs need to advertise the availabel sliver types + for node in nodes: + if not node.has_key('sliver') or not node['sliver']: + node['sliver'] = {'name': 'plab-vserver'} + + self.add_nodes(nodes) + self.add_links(in_rspec.version.get_links()) + + # + #rspec = RSpec(in_rspec) + #for child in rspec.xml.iterchildren(): + # self.xml.root.append(child) + - rspec = RSpec(in_rspec) - for child in rspec.xml.iterchildren(): - self.xml.root.append(child) def cleanup(self): # remove unncecessary elements, attributes -- 2.43.0