From: Tony Mack Date: Mon, 25 Apr 2011 18:09:29 +0000 (-0400) Subject: added merge() method X-Git-Tag: sfa-1.0-21-ckp1~63 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=711356bf60f81831da0e844ffefe03787a752ea3;p=sfa.git added merge() method --- diff --git a/sfa/rspecs/sfa_rspec.py b/sfa/rspecs/sfa_rspec.py index 2b573462..9f41ec2b 100755 --- a/sfa/rspecs/sfa_rspec.py +++ b/sfa/rspecs/sfa_rspec.py @@ -211,8 +211,6 @@ class SfaRSpec(RSpec): sliver = node.find('sliver') if sliver: node.remove(sliver) - - def add_default_sliver_attribute(self, name, value, network=None): if network: @@ -260,6 +258,24 @@ class SfaRSpec(RSpec): for vlink in vlinks: vlink.getparent().remove(vlink) + + def merge(self, in_rspec): + """ + Merge contents for specified rspec with current rspec + """ + + # just copy over all networks + current_networks = self.get_networks() + rspec = SfaRSpec(rspec=in_rspec) + networks = rspec.get_network_elements() + for network in networks: + current_network = network.get('name') + if not current_network in current_networks: + self.xml.append(network) + current_networks.append(current_network) + + + if __name__ == '__main__': rspec = SfaRSpec() nodes = [