Added SubmitPanel, HelpPanel for PlanetLab and VINI
[sfa-gui.git] / SfaData.py
index a26aaf9..049b0d3 100644 (file)
@@ -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"