From 711356bf60f81831da0e844ffefe03787a752ea3 Mon Sep 17 00:00:00 2001 From: Tony Mack <tmack@paris.CS.Princeton.EDU> Date: Mon, 25 Apr 2011 14:09:29 -0400 Subject: [PATCH] added merge() method --- sfa/rspecs/sfa_rspec.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) 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 = [ -- 2.47.0