From: Barış Metin Date: Wed, 8 Sep 2010 17:27:50 +0000 (+0200) Subject: add rspec helper methods X-Git-Tag: sface-0.1-1~92 X-Git-Url: http://git.onelab.eu/?p=sface.git;a=commitdiff_plain;h=916d85331e44dea3f42c8d8438099ac8bec85c12 add rspec helper methods --- diff --git a/sfamainscreen.py b/sfamainscreen.py index d58335b..db66414 100644 --- a/sfamainscreen.py +++ b/sfamainscreen.py @@ -34,15 +34,28 @@ class SliceWidget(QWidget): self.connect(label, SIGNAL('linkActivated(QString)'), self.refresh) - + + + def rspec_get_networks(self, rspec): + return rspec.rspec.xpath("./network[@name]/@name") + + def rspec_get_nodes_of_network(self, rspec, network): + return rspec.rspec.xpath("./network[@name='%s']/site/node/hostname/text()" % network) + def refresh(self, link=None): data = SfaData() - xml = data.getRSpecFromSM() +# xml = data.getRSpecFromSM() + import os + xml = open(os.path.expanduser("~/.sfi/ple.inria.heartbeat.rspec")).read() rspec = RSpec(xml) - nodes = rspec.get_node_list() - - for n in nodes: - self.addNode("TestBedName", n) + + networks = self.rspec_get_networks(rspec) + networks.reverse() + + for network in networks: + nodes = self.rspec_get_nodes_of_network(rspec, network) + for node in nodes: + self.addNode(network, node) def addNode(self, testbed, hostname): self.nodeModel.insertRow(0)