support for separate ListResources calls for slice and resources
[sface.git] / sface / screens / userscreen.py
index db0d3e7..677a2db 100644 (file)
@@ -9,6 +9,7 @@ from sfa.util.record import SfaRecord, SliceRecord, AuthorityRecord, UserRecord
 from sface.config import config
 from sface.sfiprocess import SfiProcess
 from sface.screens.sfascreen import SfaScreen
 from sface.config import config
 from sface.sfiprocess import SfiProcess
 from sface.screens.sfascreen import SfaScreen
+from sface.sfidata import SfiData
 
 NAME_COLUMN = 0
 #ROLE_COLUMN = 1
 
 NAME_COLUMN = 0
 #ROLE_COLUMN = 1
@@ -154,17 +155,11 @@ class UserModel(QStandardItemModel):
                      slice_persons.append({"name": name, "role": "researcher", "member": user_status["in"]})
                      added_persons.append(name)
 
                      slice_persons.append({"name": name, "role": "researcher", "member": user_status["in"]})
                      added_persons.append(name)
 
-        i=0
-        while (os.path.exists(config.getAuthorityListFile(i))):
-            rec = self.readUserRecord(i)
-            if rec:
-                type = str(rec.get_type())
-                if (type == "user"):
-                    name = str(rec.get_name())
-                    if not name in added_persons:
-                        slice_persons.append({"name": name, "role": "", "member": user_status["out"]})
-                        added_persons.append(name)
-            i=i+1
+        userNames = SfiData().getAuthorityHrns(type="user")
+        for name in userNames:
+            if not name in added_persons:
+                slice_persons.append({"name": name, "role": "", "member": user_status["out"]})
+                added_persons.append(name)
 
         rootItem = self.invisibleRootItem()
 
 
         rootItem = self.invisibleRootItem()
 
@@ -217,15 +212,6 @@ class UserModel(QStandardItemModel):
 
         return researchers
 
 
         return researchers
 
-    def readUserRecord(self, i):
-        rec_file = config.getAuthorityListFile(i)
-        if os.path.exists(rec_file):
-            xml = open(rec_file).read()
-            rec = UserRecord()
-            rec.load_from_string(xml)
-            return rec
-        return None
-
 class UsersWidget(QWidget):
     def __init__(self, parent):
         QWidget.__init__(self, parent)
 class UsersWidget(QWidget):
     def __init__(self, parent):
         QWidget.__init__(self, parent)
@@ -303,24 +289,6 @@ class UsersWidget(QWidget):
         else:
             self.setStatus("<font color='red'>Authority rec refresh error: %s</font>" % (faultString))
 
         else:
             self.setStatus("<font color='red'>Authority rec refresh error: %s</font>" % (faultString))
 
-    def readSliceRecord(self):
-        rec_file = config.getSliceRecordFile()
-        if os.path.exists(rec_file):
-            xml = open(rec_file).read()
-            rec = SliceRecord()
-            rec.load_from_string(xml)
-            return rec
-        return None
-
-    def readAuthorityRecord(self):
-        rec_file = config.getAuthorityRecordFile()
-        if os.path.exists(rec_file):
-            xml = open(rec_file).read()
-            rec = AuthorityRecord()
-            rec.load_from_string(xml)
-            return rec
-        return None
-
     def setStatus(self, msg, timeout=None):
         self.parent().setStatus(msg, timeout)
 
     def setStatus(self, msg, timeout=None):
         self.parent().setStatus(msg, timeout)
 
@@ -334,7 +302,7 @@ class UsersWidget(QWidget):
         if self.checkRunningProcess():
             return
 
         if self.checkRunningProcess():
             return
 
-        rec = self.readSliceRecord()
+        rec = SfiData().getSliceRecord()
         change = self.userModel.updateRecord(rec)
 
         if not change:
         change = self.userModel.updateRecord(rec)
 
         if not change:
@@ -366,11 +334,11 @@ class UsersWidget(QWidget):
     def refreshAuthority(self):
         self.connect(self.process, SIGNAL('finished()'), self.getAuthorityRecordFinished)
 
     def refreshAuthority(self):
         self.connect(self.process, SIGNAL('finished()'), self.getAuthorityRecordFinished)
 
-        self.process.listRecords(config.getAuthority(), None, config.getAuthorityListFile())
+        self.process.listRecords(config.getAuthority(), None)
         self.setStatus("Refreshing user records. This will take some time...")
 
     def updateView(self):
         self.setStatus("Refreshing user records. This will take some time...")
 
     def updateView(self):
-        sliceRec = self.readSliceRecord()
+        sliceRec = SfiData().getSliceRecord()
 
         if not sliceRec:
             # wait until we've resolved the slicerecord before displaying
 
         if not sliceRec:
             # wait until we've resolved the slicerecord before displaying