From dcc4223f990c67e1fd0378409449445913992b47 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 25 Apr 2011 16:06:40 -0400 Subject: [PATCH] updated parsing methods --- sfa/rspecs/pg_rspec.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/sfa/rspecs/pg_rspec.py b/sfa/rspecs/pg_rspec.py index 5af0b81d..2d59bd44 100755 --- a/sfa/rspecs/pg_rspec.py +++ b/sfa/rspecs/pg_rspec.py @@ -33,10 +33,26 @@ class PGRSpec(RSpec): network = nodes[0].get('component_manager_uuid') return network - def get_nodes(self, nodes_with_slivers=False): + def get_networks(self): + networks = self.xml.xpath('//rspecv2:node[@component_manager_uuid]/@component_manager_uuid') + return set(networks) + + def get_node_elements(self): nodes = self.xml.xpath('//rspecv2:node', self.namespaces) return nodes + def get_nodes(self, network=None): + return self.xml.xpath('//rspecv2:node[@component_uuid]/@component_uuid', self.namespaces) + + def get_nodes_with_slivers(self, network=None): + if network: + return self.xml.xpath('//node[@component_manager_uuid="%s"][sliver_type]/@component_uuid' % network, self.namespaces) + else: + return self.xml.xpath('//node[sliver_type]/@component_uuid' % network, self.namespaces) + + def get_nodes_without_slivers(self, network=None): + pass + def add_nodes(self, nodes, check_for_dupes=False): if not isinstance(nodes, list): nodes = [nodes] -- 2.43.0