X-Git-Url: http://git.onelab.eu/?p=sfa-gui.git;a=blobdiff_plain;f=SfaData.py;h=049b0d3015a651445126205b19a7fe04114d4975;hp=a26aaf9659cbe30fb64ed4f938d2bfcb48a714ad;hb=dd75c282952182b904fbfd26b2f87f5d39552630;hpb=070773be5d006ef8764f81c075fcc3f37a5ba4e7 diff --git a/SfaData.py b/SfaData.py index a26aaf9..049b0d3 100644 --- a/SfaData.py +++ b/SfaData.py @@ -44,25 +44,59 @@ class SfaData: f.close() return xml + def applyRSpec(self, xml): + slice = self.getSlice() + filename = os.path.expanduser("~/.sfi/" + slice + ".rspec") + f = open(filename, "w") + f.write(xml) + f.close() + call(["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(), + "-r", self.registry, "-s", self.slicemgr, "create", + slice, filename]) + class ViniData(SfaData): def __init__(self): SfaData.__init__(self) self.registry = "http://www.planet-lab.org:12345" - self.slicemgr = "http://www.vini-veritas.net:12347" + self.slicemgr = "http://www.vini-veritas.net:12346" + self.rspec = None - def getRSpec(self): + def refreshRSpec(self): xml = SfaData.getRSpec(self) - return RSpec(xml) + self.rspec = RSpec(xml) + + def getRSpec(self): + if self.rspec is None: + self.refreshRSpec() + return self.rspec + + def applyRSpec(self): + xml = self.rspec.toxml() + SfaData.applyRSpec(self, xml) class PlanetLabData(SfaData): def __init__(self): SfaData.__init__(self) self.registry = "http://www.planet-lab.org:12345" - self.slicemgr = "http://www.planet-lab.org:12347" + self.slicemgr = "http://www.planet-lab.org:12346" + self.rspec = None + + def refreshRSpec(self): + xml = SfaData.getRSpec(self) + self.rspec = RSpec(xml) + + def getRSpec(self): + if self.rspec is None: + self.refreshRSpec() + return self.rspec + + def applyRSpec(self): + xml = self.rspec.toxml() + SfaData.applyRSpec(self, xml) class OpenCirrusData(SfaData): def __init__(self): SfaData.__init__(self) self.registry = "http://www.planet-lab.org:12345" - self.slicemgr = "http://www.planet-lab.org:12347" + self.slicemgr = "http://www.planet-lab.org:12346"