X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sfamainscreen.py;h=5620fd4dab742e5484036b187d01b0be434bf919;hp=d58335b7ae8917a898181de3c9e3759662b4e29e;hb=35612211dddbea460b478b998681d660bbaffdea;hpb=70514dcdd9d918c574b1589aef5c9ab9b0619f2a diff --git a/sfamainscreen.py b/sfamainscreen.py index d58335b..5620fd4 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_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)