From c2b385535d219246ea5436db019765aa4d85c242 Mon Sep 17 00:00:00 2001 From: Andy Bavier Date: Thu, 18 Feb 2010 19:06:49 +0000 Subject: [PATCH] Ignore parts of the RSpec that are not for us --- sfa/plc/network.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/sfa/plc/network.py b/sfa/plc/network.py index 1210b72d..cf220299 100644 --- a/sfa/plc/network.py +++ b/sfa/plc/network.py @@ -420,6 +420,15 @@ class Network: message = str(sys.exc_info()[1]) raise InvalidRSpec(message) + # Filter out stuff that's not for us + rspec = tree.getroot() + for network in rspec.iterfind("./network"): + if network.get("name") != self.api.hrn: + rspec.remove(network) + for request in rspec.iterfind("./request"): + if request.get("name") != self.api.hrn: + rspec.remove(request) + if schema: # Validate the incoming request against the RelaxNG schema relaxng_doc = etree.parse(schema) @@ -430,10 +439,9 @@ class Network: message = "%s (line %s)" % (error.message, error.line) raise InvalidRSpec(message) - rspec = tree.getroot() self.rspec = rspec - defaults = rspec.find("./network/sliver_defaults") + defaults = rspec.find(".//sliver_defaults") self.__process_attributes(defaults) # Find slivers under node elements -- 2.47.0