+import json
import os
import pickle
from PyQt4.QtCore import *
from lxml import etree
from sfa.util.xrn import hrn_to_urn, urn_to_hrn
-from sfa.storage.record import SfaRecord, SliceRecord, AuthorityRecord, UserRecord
from sfa.rspecs.rspec import RSpec
from sface.config import config
def getSliceRecord(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
+ try:
+ from sfa.storage.record import SliceRecord
+ xml = open(rec_file).read()
+ rec = SliceRecord()
+ rec.load_from_string(xml)
+ return rec
+ except:
+ from sfa.storage.model import make_record
+ obj=make_record (xml=file(rec_file).read())
+ # consider as a dict for smooth transition
+ return obj.__dict__
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
+ try:
+ from sfa.storage.record import SliceUser
+ xml = open(rec_file).read()
+ rec = UserRecord()
+ rec.load_from_string(xml)
+ return rec
+ except:
+ from sfa.storage.model import make_record
+ obj=make_record (xml=file(rec_file).read())
+ # consider as a dict for smooth transition
+ return obj.__dict__
return None
def getUserSliceHrns(self):
rspec_file = config.getSliceRSpecFile()
if os.path.exists(rspec_file):
xml = open(rspec_file).read()
- rspec = RSpec(rspec=xml) #rspec = parse_rspec(xml)
- #self.purgeNonSliceResources(rspec)
+ if (xml.strip()==""):
+ return None
+
+ rspec = RSpec(rspec=xml)
return rspec
return None
rspec_file = config.getResourcesRSpecFile()
if os.path.exists(rspec_file):
xml = open(rspec_file).read()
- rspec = RSpec(rspec=xml) #rspec= parse_rspec(xml)
+
+ if (xml.strip()==""):
+ return None
+
+ rspec = RSpec(rspec=xml)
return rspec
return None
if not slice:
slice = config.getSlice()
+ if not slice:
+ return None
+
filename = config.fullpath(slice+".sliverstatus")
if os.path.exists(filename):
data = open(filename).read()
- return pickle.loads(data)
+ try:
+ if hasattr(json, "loads"):
+ return json.loads(data) # python 2.6
+ else:
+ return json.read(data) # python 2.5
+ except:
+ print "Exception in getSliverStatus"
+ return None
return None