huge cleanup for removing mutables used as default
[sfa.git] / sfa / rspecs / rspec_converter.py
index 5301c2d..7dff2f0 100755 (executable)
@@ -2,28 +2,35 @@
 
 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'].lower() == '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.version['type'].lower() == 'protogeni':
-            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.version['type'].lower() == 'protogeni': 
+    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'].lower() == '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