9ab9e7f4bc719cdebec42d0db38da35f4606723a
[sfa.git] / sfa / rspecs / rspec_parser.py
1 #!/usr/bin/python
2 from sfa.rspecs.sfa_rspec import SfaRSpec
3 from sfa.rspecs.pg_rspec import PGRSpec
4 from sfa.rspecs.rspec import RSpec
5 from lxml import etree 
6
7 def parse_rspec(in_rspec):
8     rspec = RSpec(rspec=in_rspec)
9     # really simple check
10     # TODO: check against schema instead
11     out_rspec = None 
12     if rspec.xml.xpath('//network'):
13         #out_rspec = SfaRSpec(in_rspec)
14         out_rspec = SfaRSpec()
15         out_rspec.xml = rspec
16     else:
17         #out_rspec = PGRSpec(in_rspec)
18         out_rspec = PGRSpec()
19         out_rspec.xml = rspec
20     return out_rspec
21
22
23 if __name__ == '__main__':
24     
25     print "Parsing SFA RSpec:", 
26     rspec = parse_rspec('nodes.rspec')
27     print rspec.type
28     rspec = parse_rspec('protogeni.rspec')
29     print "Parsing ProtoGENI RSpec:", 
30     print rspec.type
31     
32     
33