use sfa.rspecs.rspec.RSpec instead of sfa.rspecs.pg_rspec.PGRSpec and sfa.rspecs...
[sfa.git] / sfa / rspecs / rspec_converter.py
1 #!/usr/bin/python
2
3 from sfa.rspecs.pg_rspec_converter import PGRSpecConverter
4 from sfa.rspecs.sfa_rspec_converter import SfaRSpecConverter
5 from sfa.rspecs.rspec import RSpec
6 from sfa.rspecs.version_manager import VersionManager
7
8 class RSpecConverter:
9
10     @staticmethod
11     def to_sfa_rspec(in_rspec):
12         rspec = RSpec(in_rspec)
13         version_manager = VersionManager()
14         sfa_version = version_manager._get_version('sfa', '1')
15         pg_version = version_manager._get_version('protogeni', '2')
16         if rspec.version.type.lower() == sfa_version.type.lower(): 
17           return in_rspec
18         elif rspec.version.type.lower() == pg_version.type.lower(): 
19             return PGRSpecConverter.to_sfa_rspec(in_rspec)
20         else:
21             return in_rspec 
22
23     @staticmethod 
24     def to_pg_rspec(in_rspec):
25         rspec = parse_rspec(in_rspec)
26         rspec = RSpec(in_rspec)
27         version_manager = VersionManager()
28         sfa_version = version_manager._get_version('sfa', '1')
29         pg_version = version_manager._get_version('protogeni', '2')
30
31         if rspec.version.type.lower() == pg_version.type.lower(): 
32             return in_rspec
33         elif rspec.version.type.lower() == sfa_version.type.lower(): 
34             return SfaRSpecConverter.to_pg_rspec(in_rspec)
35         else:
36             return in_rspec 
37
38
39 if __name__ == '__main__':
40     pg_rspec = 'test/protogeni.rspec'
41     sfa_rspec = 'test/nodes.rspec'  
42
43     print "converting pg rspec to sfa rspec"
44     print RSpecConverter.to_sfa_rspec(pg_rspec)
45     
46     print "converting sfa rspec to pg rspec"
47     print RSpecConverter.to_pg_rspec(sfa_rspec)