From da0f5b95b6a42ee079ecbe39b152969b93286b84 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Mon, 25 Apr 2011 15:06:16 -0400 Subject: [PATCH] initial checkin --- sfa/rspecs/rspec_parser.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100755 sfa/rspecs/rspec_parser.py diff --git a/sfa/rspecs/rspec_parser.py b/sfa/rspecs/rspec_parser.py new file mode 100755 index 00000000..9ab9e7f4 --- /dev/null +++ b/sfa/rspecs/rspec_parser.py @@ -0,0 +1,33 @@ +#!/usr/bin/python +from sfa.rspecs.sfa_rspec import SfaRSpec +from sfa.rspecs.pg_rspec import PGRSpec +from sfa.rspecs.rspec import RSpec +from lxml import etree + +def parse_rspec(in_rspec): + rspec = RSpec(rspec=in_rspec) + # really simple check + # TODO: check against schema instead + out_rspec = None + if rspec.xml.xpath('//network'): + #out_rspec = SfaRSpec(in_rspec) + out_rspec = SfaRSpec() + out_rspec.xml = rspec + else: + #out_rspec = PGRSpec(in_rspec) + out_rspec = PGRSpec() + out_rspec.xml = rspec + return out_rspec + + +if __name__ == '__main__': + + print "Parsing SFA RSpec:", + rspec = parse_rspec('nodes.rspec') + print rspec.type + rspec = parse_rspec('protogeni.rspec') + print "Parsing ProtoGENI RSpec:", + print rspec.type + + + -- 2.43.0