From: Tony Mack Date: Mon, 28 Nov 2011 19:22:21 +0000 (-0500) Subject: fix merge() X-Git-Tag: sfa-2.0-1~6^2~4^2~1 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=65fc63a777c4a97ab617af523c36ea17e5ca6f7c fix merge() --- 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