shebangs need to point at python2
[sfa.git] / sfa / rspecs / rspec_converter.py
1 #!/usr/bin/env python2
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
11 class RSpecConverter:
12
13     @staticmethod
14     def to_sfa_rspec(in_rspec, content_type=None):
15         rspec = RSpec(in_rspec)
16         version_manager = VersionManager()
17         sfa_version = version_manager._get_version('sfa', '1')
18         pg_version = version_manager._get_version('protogeni', '2')
19         if rspec.version.type.lower() == sfa_version.type.lower():
20             return in_rspec
21         elif rspec.version.type.lower() == pg_version.type.lower():
22             return PGRSpecConverter.to_sfa_rspec(in_rspec, content_type)
23         else:
24             return in_rspec
25
26     @staticmethod
27     def to_pg_rspec(in_rspec, content_type=None):
28         rspec = RSpec(in_rspec)
29         version_manager = VersionManager()
30         sfa_version = version_manager._get_version('sfa', '1')
31         pg_version = version_manager._get_version('protogeni', '2')
32
33         if rspec.version.type.lower() == pg_version.type.lower():
34             return in_rspec
35         elif rspec.version.type.lower() == sfa_version.type.lower():
36             return SfaRSpecConverter.to_pg_rspec(in_rspec, content_type)
37         else:
38             return in_rspec
39
40
41 if __name__ == '__main__':
42     pg_rspec = 'test/protogeni.rspec'
43     sfa_rspec = 'test/nodes.rspec'
44
45     print("converting pg rspec to sfa rspec")
46     print(RSpecConverter.to_sfa_rspec(pg_rspec))
47
48     print("converting sfa rspec to pg rspec")
49     print(RSpecConverter.to_pg_rspec(sfa_rspec))