rename type to format
[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
8 def parse_rspec(in_rspec):
9     rspec = RSpec(rspec=in_rspec)
10     # really simple check
11     # TODO: check against schema instead
12     out_rspec = None 
13     if rspec.xml.xpath('//network'):
14         #out_rspec = SfaRSpec(in_rspec)
15         out_rspec = SfaRSpec()
16         out_rspec.xml = rspec.xml
17     else:
18         #out_rspec = PGRSpec(in_rspec)
19         out_rspec = PGRSpec()
20         out_rspec.xml = rspec.xml
21     return out_rspec
22
23
24
25 if __name__ == '__main__':
26     
27     print "Parsing SFA RSpec:", 
28     rspec = parse_rspec('nodes.rspec')
29     print rspec.format
30     rspec = parse_rspec('protogeni.rspec')
31     print "Parsing ProtoGENI RSpec:", 
32     print rspec.format
33     
34     
35