X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sfamainscreen.py;h=db664144e26088551765ee2643bed9ebde3a5e75;hp=d58335b7ae8917a898181de3c9e3759662b4e29e;hb=916d85331e44dea3f42c8d8438099ac8bec85c12;hpb=85ba0f3710d68e2b2f19813cee49e1557bbabe9e 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)