X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sfamainscreen.py;h=358da31219c54c367079a1d6825b0e5c447d1713;hp=d58335b7ae8917a898181de3c9e3759662b4e29e;hb=7ff54145f6c941892e3abf202b154b51a59dc7d4;hpb=70514dcdd9d918c574b1589aef5c9ab9b0619f2a;ds=sidebyside diff --git a/sfamainscreen.py b/sfamainscreen.py index d58335b..358da31 100644 --- a/sfamainscreen.py +++ b/sfamainscreen.py @@ -34,15 +34,28 @@ class SliceWidget(QWidget): self.connect(label, SIGNAL('linkActivated(QString)'), self.refresh) - + + + # TODO: use the methods from sfa-trunk + def rspec_get_networks(self, rspec): + return rspec.rspec.xpath("./network[@name]/@name") + def rspec_get_nodes_from_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_from_network(rspec, network) + for node in nodes: + self.addNode(network, node) def addNode(self, testbed, hostname): self.nodeModel.insertRow(0)