git://git.onelab.eu
/
sface.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Setting tag sface-0.9-9
[sface.git]
/
sface
/
sfidata.py
diff --git
a/sface/sfidata.py
b/sface/sfidata.py
index
4f2749e
..
f4c872c
100644
(file)
--- a/
sface/sfidata.py
+++ b/
sface/sfidata.py
@@
-1,3
+1,4
@@
+import json
import os
import pickle
from PyQt4.QtCore import *
import os
import pickle
from PyQt4.QtCore import *
@@
-5,7
+6,6
@@
from PyQt4.QtGui import *
from lxml import etree
from sfa.util.xrn import hrn_to_urn, urn_to_hrn
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
from sfa.rspecs.rspec import RSpec
from sface.config import config
@@
-28,28
+28,26
@@
class SfiData:
return names
return names
- def getSliceRecord(self):
- rec_file = config.getSliceRecordFile()
+ def getRecord(self, rec_file):
if os.path.exists(rec_file):
if os.path.exists(rec_file):
+ from sfa.storage.record import Record
xml = open(rec_file).read()
xml = open(rec_file).read()
- rec = SliceRecord()
- rec.load_from_string(xml)
- return rec
- return None
+ rec = Record(xml=xml)
+ return rec.todict()
+ return None
+
+ def getSliceRecord(self):
+ rec_file = config.getSliceRecordFile()
+ return self.getRecord(rec_file)
def getUserRecord(self):
rec_file = config.getUserRecordFile()
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
+ return self.getRecord(rec_file)
def getUserSliceHrns(self):
rec = self.getUserRecord()
if rec:
def getUserSliceHrns(self):
rec = self.getUserRecord()
if rec:
- slices = rec.get
_field("slices"
)
+ slices = rec.get
("slices",[]
)
if (type(slices)!=list) or (len(slices)<1):
return []
if (type(slices)!=list) or (len(slices)<1):
return []
@@
-80,9
+78,11
@@
class SfiData:
rspec_file = config.getSliceRSpecFile()
if os.path.exists(rspec_file):
xml = open(rspec_file).read()
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
return rspec
return None
@@
-91,7
+91,11
@@
class SfiData:
rspec_file = config.getResourcesRSpecFile()
if os.path.exists(rspec_file):
xml = open(rspec_file).read()
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
return rspec
return None
@@
-99,11
+103,21
@@
class SfiData:
if not slice:
slice = config.getSlice()
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()
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
return None