import os
+import pickle
import sys
import time
from PyQt4.QtCore import *
from sface.config import config
-from sface.xmlrpcwindow import XmlrpcTracker, XmlrpcReader
+from sface.xmlrpcwindow import get_tracker, XmlrpcReader
def find_executable(exec_name):
"""find the given executable in $PATH"""
self.processFinished)
self.xmlrpcreader = XmlrpcReader() # this one is for parsing XMLRPC responses
- self.xmlrpctracker = XmlrpcTracker() # this one is for the debug window
# holds aggregate output from processStandardOutput(); used by xmlrpc
# tracker.
self.start()
return filename
+ def retrieveResources(self):
+ mgr = config.getSlicemgr()
+ # Write RSpec to file
+ filename = config.getResourcesRSpecFile()
+ try:
+ os.remove(filename)
+ except:
+ pass
+ args = ["-u", config.getUser(), "-a", config.getAuthority(),
+ "-r", config.getRegistry(), "-s", mgr, "resources",
+ "-o", filename]
+
+ self.__init_command(args)
+ self.start()
+ return filename
+
def listRecords(self, hrn, rectype=None, filename=None):
args = ["-u", config.getUser(), "-a", config.getAuthority(),
- "-r", config.getRegistry(), "-s", config.getSlicemgr(), "list", hrn]
+ "-r", config.getRegistry(), "-s", config.getSlicemgr(), "list", "-F", "xmllist", hrn]
- if filename:
- # we can't tell whether SFI will create one file or many, so delete
- # leftovers from last time, then we'll know what we got, after we get it.
- if os.path.exists(filename):
- os.remove(filename)
- if os.path.exists(filename + ".1"):
- os.remove(filename + ".1")
- args.append("-o")
- args.append(filename)
+ if not filename:
+ filename = config.getAuthorityListFile()
+
+ # we can't tell whether SFI will create one file or many, so delete
+ # leftovers from last time, then we'll know what we got, after we get it.
+ if os.path.exists(filename):
+ os.remove(filename)
+ if os.path.exists(filename + ".1"):
+ os.remove(filename + ".1")
+ args.append("-o")
+ args.append(filename)
if rectype:
args.append("-t")
self.__init_command(args)
self.start()
- def renewSlivers(self, expiration):
+ def removeRecord(self, hrn):
+ args = ["-u", config.getUser(), "-a", config.getAuthority(),
+ "-r", config.getRegistry(), "-s", config.getSlicemgr(), "remove", hrn]
+ self.__init_command(args)
+ self.start()
+
+ def renewSlivers(self, expiration, slice=None):
+ if not slice:
+ slice = config.getSlice()
+
args = ["-u", config.getUser(), "-a", config.getAuthority(),
"-r", config.getRegistry(), "-s", config.getSlicemgr(), "renew",
- config.getSlice(), expiration]
+ slice, expiration]
self.__init_command(args)
self.start()
+ def sliverStatus(self, slice=None, filename=None):
+ if not slice:
+ slice = config.getSlice()
+
+ if not filename:
+ filename = config.fullpath(slice+".sliverstatus")
+
+ args = ["-u", config.getUser(), "-a", config.getAuthority(),
+ "-r", config.getRegistry(), "-s", config.getSlicemgr(), "status",
+ "-o", filename, "-F", "pickled", slice]
+ self.__init_command(args)
+ self.start()
+
+
def start(self):
self.respones = []
self.faults = []
# command = "%s %s" % (self.exe, self.args.join(" "))
print time.strftime('%H:%M:%S'),"Done [%.3f s]"%(time.time()-self._trace)
if config.debug:
- self.xmlrpctracker.getAndPrint(self.output)
+ get_tracker().getAndPrint(self.output)