Merge branch 'thgeneric'
[sfa.git] / sfa / rspecs / version_manager.py
index 019531e..f53ec6f 100644 (file)
@@ -1,5 +1,6 @@
 import os
 from sfa.util.faults import InvalidRSpec
+from sfa.rspecs.rspec_version import BaseVersion 
 from sfa.util.sfalogging import logger    
 
 class VersionManager:
@@ -31,7 +32,8 @@ class VersionManager:
         for version in self.versions:
             if type is None or type.lower() == version.type.lower():
                 if version_num is None or version_num == version.version:
-                    if content_type is None or content_type.lower() == version.content_type.lower():
+                    if content_type is None or content_type.lower() == version.content_type.lower() \
+                      or version.content_type == '*':
                         retval = version
         if not retval:
             raise InvalidRSpec("No such version format: %s version: %s type:%s "% (type, version_num, content_type))
@@ -52,8 +54,9 @@ class VersionManager:
             if num_parts > 2:
                 content_type = version_parts[2]
             retval = self._get_version(type, version_num, content_type) 
+        elif isinstance(version, BaseVersion):
+            retval = version
         else:
-            logger.info("Unable to parse rspec version, using default")
             retval = self._get_version(self.default_type, self.default_version_num)   
  
         return retval