no change - prettyfied
[sfa.git] / sfa / rspecs / rspec_converter.py
index 7a0890e..7dff2f0 100755 (executable)
@@ -1,29 +1,36 @@
 #!/usr/bin/python
 
 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': 
+    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.format == 'pg':
-            return PGRSpecConverter.to_sfa_rspec(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':
+    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