X-Git-Url: http://git.onelab.eu/?p=sface.git;a=blobdiff_plain;f=sface%2Fscreens%2Fuserscreen.py;fp=sface%2Fscreens%2Fuserscreen.py;h=677a2dbc832993a95f8a864df4030945f0c9164e;hp=db0d3e78219d0911966aa0976d1167e3b2c59d4d;hb=dc5a4a16b0819bc27efd1f77d632a76463db82c0;hpb=16876384173c217448f977faac6daa95702aea58 diff --git a/sface/screens/userscreen.py b/sface/screens/userscreen.py index db0d3e7..677a2db 100644 --- a/sface/screens/userscreen.py +++ b/sface/screens/userscreen.py @@ -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.sfidata import SfiData 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) - 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() @@ -217,15 +212,6 @@ class UserModel(QStandardItemModel): 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) @@ -303,24 +289,6 @@ class UsersWidget(QWidget): else: self.setStatus("Authority rec refresh error: %s" % (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) @@ -334,7 +302,7 @@ class UsersWidget(QWidget): if self.checkRunningProcess(): return - rec = self.readSliceRecord() + rec = SfiData().getSliceRecord() 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) - 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): - sliceRec = self.readSliceRecord() + sliceRec = SfiData().getSliceRecord() if not sliceRec: # wait until we've resolved the slicerecord before displaying