from sfa.rspecs.pg_rspec_converter import PGRSpecConverter
from sfa.rspecs.sfa_rspec_converter import SfaRSpecConverter
-from sfa.rspecs.rspec_parser import parse_rspec
-
+from sfa.rspecs.rspec import RSpec
+from sfa.rspecs.version_manager import VersionManager
class RSpecConverter:
@staticmethod
def to_sfa_rspec(in_rspec):
- rspec = parse_rspec(in_rspec)
- if rspec.version['type'] == 'sfa':
+ rspec = RSpec(in_rspec)
+ version_manager = VersionManager()
+ sfa_version = version_manager._get_version('sfa', '1')
+ pg_version = version_manager._get_version('protogeni', '2')
+ if rspec.version.type.lower() == sfa_version.type.lower():
return in_rspec
- elif rspec.version['type'] == 'protogeni':
+ elif rspec.version.type.lower() == pg_version.type.lower():
return PGRSpecConverter.to_sfa_rspec(in_rspec)
else:
- return in_rspec
+ return in_rspec
@staticmethod
def to_pg_rspec(in_rspec):
rspec = parse_rspec(in_rspec)
- if rspec.version['type'] == 'protogeni':
+ rspec = RSpec(in_rspec)
+ version_manager = VersionManager()
+ sfa_version = version_manager._get_version('sfa', '1')
+ pg_version = version_manager._get_version('protogeni', '2')
+
+ if rspec.version.type.lower() == pg_version.type.lower():
return in_rspec
- elif rspec.version['type'] == 'sfa':
+ elif rspec.version.type.lower() == sfa_version.type.lower():
return SfaRSpecConverter.to_pg_rspec(in_rspec)
else:
return in_rspec