X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sface%2Fsfidata.py;h=5de402adba292577389fc4191ef35bc2d33d5f55;hb=be8bec410be7df9cdd39bb9e8b3b2ed63730ac20;hp=315fddca5b6e52085e32d3ccc2bf7cd77004f7cf;hpb=c6329bf47bb381a75a23c34c02071e6f7571ba7b;p=sface.git diff --git a/sface/sfidata.py b/sface/sfidata.py index 315fddc..5de402a 100644 --- a/sface/sfidata.py +++ b/sface/sfidata.py @@ -1,9 +1,10 @@ import os +import pickle from PyQt4.QtCore import * from PyQt4.QtGui import * from lxml import etree -from sfa.util.record import SfaRecord, SliceRecord, AuthorityRecord +from sfa.util.record import SfaRecord, SliceRecord, AuthorityRecord, UserRecord from sfa.rspecs.rspec_parser import parse_rspec from sface.config import config @@ -35,6 +36,22 @@ class SfiData: return rec return None + def getUserRecord(self): + rec_file = config.getUserRecordFile() + if os.path.exists(rec_file): + xml = open(rec_file).read() + rec = UserRecord() + rec.load_from_string(xml) + return rec + return None + + def getUserSliceHrns(self): + rec = self.getUserRecord() + if rec: + return rec.get_field("slices") + + return [] + def purgeNonSliceResources(self, rspec): # This can probably go away once the new slice manager is fully # deployed. @@ -66,3 +83,17 @@ class SfiData: xml = open(rspec_file).read() return parse_rspec(xml) return None + + def getSliverStatus(self, slice=None): + if not slice: + slice = config.getSlice() + + filename = config.fullpath(slice+".sliverstatus") + + if os.path.exists(filename): + data = open(filename).read() + return pickle.loads(data) + + return None + +