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