Finished first cut at VINI's LinkPanel
[sfa-gui.git] / SfaData.py
index e1abfac..343ad0e 100644 (file)
@@ -44,6 +44,16 @@ 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)
@@ -54,6 +64,10 @@ class ViniData(SfaData):
         xml = SfaData.getRSpec(self)
         return RSpec(xml)
 
+    def applyRSpec(self, rspec):
+        xml = rspec.toxml()
+        SfaData.applyRSpec(self, xml)
+
 class PlanetLabData(SfaData):
     def __init__(self):
         SfaData.__init__(self)
@@ -64,6 +78,10 @@ class PlanetLabData(SfaData):
         xml = SfaData.getRSpec(self)
         return RSpec(xml)
 
+    def applyRSpec(self, rspec):
+        xml = rspec.toxml()
+        SfaData.applyRSpec(self, xml)
+
 class OpenCirrusData(SfaData):
     def __init__(self):
         SfaData.__init__(self)