X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2FrspecHelper.py;h=f6c860b4e4b35eb12d499453ace178b682afb6b2;hb=bfcea75fd4f7d91b186f4f0e479db0e6f0a231ae;hp=6cac3b3c4c08af2182f3b33a8af6fca94511579d;hpb=010a951595e3120bd7cb10b36d18d04c819c20c6;p=sfa.git diff --git a/sfa/util/rspecHelper.py b/sfa/util/rspecHelper.py index 6cac3b3c..f6c860b4 100755 --- a/sfa/util/rspecHelper.py +++ b/sfa/util/rspecHelper.py @@ -79,20 +79,27 @@ class RSpec: if len(networks) == 1: self.network = networks[0] + # Thierry : need this to locate hostname even if several networks def get_node_element(self, hostname, network=None): - if network == None: + if network == None and self.network: network = self.network - names = self.rspec.iterfind("./network[@name='%s']/site/node/hostname" % network) + if network != None: + names = self.rspec.iterfind("./network[@name='%s']/site/node/hostname" % network) + else: + names = self.rspec.iterfind("./network/site/node/hostname") for name in names: if name.text == hostname: return name.getparent() return None + # Thierry : need this to return all nodes in all networks def get_node_list(self, network=None): - if network == None: + if network == None and self.network: network = self.network - result = self.rspec.xpath("./network[@name='%s']/site/node/hostname/text()" % network) - return result + if network != None: + return self.rspec.xpath("./network[@name='%s']/site/node/hostname/text()" % network) + else: + return self.rspec.xpath("./network/site/node/hostname/text()") def get_network_list(self): return self.rspec.xpath("./network[@name]/@name")