From: Tony Mack Date: Mon, 25 Apr 2011 20:06:40 +0000 (-0400) Subject: updated parsing methods X-Git-Tag: sfa-1.0-21-ckp1~56 X-Git-Url: http://git.onelab.eu/?p=sfa.git;a=commitdiff_plain;h=dcc4223f990c67e1fd0378409449445913992b47 updated parsing methods --- 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]