X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Frspec_converter.py;h=0c058577e4c975c334fb8df71de84042e3726fdc;hb=HEAD;hp=dd7fe1f8e8e0c3c627b9bdbf31065c303dda6f11;hpb=27091c5dbe38674fee5e91d153315449027d3061;p=sfa.git diff --git a/sfa/rspecs/rspec_converter.py b/sfa/rspecs/rspec_converter.py index dd7fe1f8..0c058577 100755 --- a/sfa/rspecs/rspec_converter.py +++ b/sfa/rspecs/rspec_converter.py @@ -1,39 +1,49 @@ -#!/usr/bin/python +#!/usr/bin/env python3 + + 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': - return in_rspec - elif rspec.version['type'] == 'protogeni': - return PGRSpecConverter.to_sfa_rspec(in_rspec) + def to_sfa_rspec(in_rspec, content_type=None): + 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.lower() == pg_version.type.lower(): + return PGRSpecConverter.to_sfa_rspec(in_rspec, content_type) else: - return in_rspec + return in_rspec - @staticmethod - def to_pg_rspec(in_rspec): - rspec = parse_rspec(in_rspec) - if rspec.version['type'] == 'protogeni': + @staticmethod + def to_pg_rspec(in_rspec, content_type=None): + 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': - return SfaRSpecConverter.to_pg_rspec(in_rspec) + elif rspec.version.type.lower() == sfa_version.type.lower(): + return SfaRSpecConverter.to_pg_rspec(in_rspec, content_type) else: - return in_rspec + return in_rspec if __name__ == '__main__': pg_rspec = 'test/protogeni.rspec' - sfa_rspec = 'test/nodes.rspec' + sfa_rspec = 'test/nodes.rspec' + + print("converting pg rspec to sfa rspec") + print(RSpecConverter.to_sfa_rspec(pg_rspec)) - print "converting pg rspec to sfa rspec" - print RSpecConverter.to_sfa_rspec(pg_rspec) - - print "converting sfa rspec to pg rspec" - print RSpecConverter.to_pg_rspec(sfa_rspec) + print("converting sfa rspec to pg rspec") + print(RSpecConverter.to_pg_rspec(sfa_rspec))