+ SfaData.SFI_SLICE = slice
+
+ def registry(self):
+ return SfaData.SFI_REGISTRY
+
+ def slicemgr(self):
+ return SfaData.SFI_SM
+
+ def trace_command (self, command):
+ self._trace=time.time()
+ if self.SFAUI_VERBOSE:
+ print time.strftime('%M:%S'),'Invoking',' '.join(command)
+ def trace_end (self):
+ if self.SFAUI_VERBOSE:
+ print time.strftime('%M:%S'),"[%.3f s]"%(time.time()-self._trace),'Done'
+
+ def getRecord(self, hrn):
+ command = ["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(),
+ "-r", self.registry(), "-s", self.slicemgr(), "show", hrn]
+ self.trace_command(command)
+ text = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]
+ self.trace_end()
+ return text
+
+ def listChildren(self, hrn):
+ children = []
+ command=["sfi.py", "-u", self.getUser(), "-a", self.getAuthority(),
+ "-r", self.registry(), "-s", self.slicemgr(), "list", hrn]
+ self.trace_command(command)
+ text = subprocess.Popen(command, stdout=subprocess.PIPE).communicate()[0]
+ self.trace_end()
+ lines = text.split('\n')
+ for line in lines:
+ if line:
+ (hrn, kind) = line.split()
+ children.append((hrn, kind))
+
+ return children