# get the rspec's return format from options
rspec_version = RSpecVersion(options.get('rspec_version'))
- print dict(rspec_version)
version_string = "rspec_%s" % (rspec_version.get_version_name())
# look in cache first
results = threads.get_results()
#results.append(open('/root/protogeni.rspec', 'r').read())
- rspec = SfaRSpec()
+ rspec_version = RSpecVersion(my_opts.get('rspec_version'))
+ if rspec_version['type'].lower() == 'protogeni':
+ rspec = PGRSpec()
+ else:
+ rspec = SfaRSpec()
+
for result in results:
+ print "RESULT"
try:
- tmp_rspec = parse_rspec(result)
- if isinstance(tmp_rspec, SfaRSpec):
- rspec.merge(result)
- elif isinstance(tmp_rspec, PGRSpec):
- rspec.merge(RSpecConverter.to_sfa_rspec(result))
- else:
- api.logger.info("SM.ListResources: invalid aggregate rspec")
+ rspec.merge(result)
except:
+ raise
api.logger.info("SM.ListResources: Failed to merge aggregate rspec")
# cache the result
pass
+ def merge(self, in_rspec):
+ """
+ Merge contents for specified rspec with current rspec
+ """
+
+ # just copy over all the child elements under the root element
+ tree = etree.parse(StringIO(in_rspec))
+ root = tree.getroot()
+ for child in root.getchildren():
+ self.xml.append(child)
+
+
+
if __name__ == '__main__':
rspec = PGRSpec()
rspec.add_nodes([1])
class RSpec:
header = '<?xml version="1.0"?>\n'
template = """<RSpec></RSpec>"""
- namespaces = {}
config = Config()
xml = None
type = None
- version = None
+ version = None
+ namespaces = None
def __init__(self, rspec="", namespaces={}):
if rspec:
if opt.text == value:
elem.remove(opt)
+ def merge(self, in_rspec):
+ pass
def validate(self, schema):
"""