X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Frspec_converter.py;h=0c058577e4c975c334fb8df71de84042e3726fdc;hb=4a9e6751f9f396f463932133b9d62fc925a99ef6;hp=7a0890e88e3f35a933a66dd96875c29f06a35933;hpb=23710aad82de2da85807326fb471965531fd59cc;p=sfa.git diff --git a/sfa/rspecs/rspec_converter.py b/sfa/rspecs/rspec_converter.py index 7a0890e8..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.sfa_rspec_converter import SfaRSpecConverter +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.format == 'sfa': - return in_rspec - elif rspec.format == 'pg': - 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.format == 'pg': + @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.format == '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))