From: Andy Bavier Date: Thu, 18 Feb 2010 19:06:49 +0000 (+0000) Subject: Ignore parts of the RSpec that are not for us X-Git-Tag: sfa-0.9-11~87 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=c2b385535d219246ea5436db019765aa4d85c242;p=sfa.git Ignore parts of the RSpec that are not for us --- 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