From: Tony Mack Date: Fri, 2 Sep 2011 20:29:53 +0000 (-0400) Subject: added get_version_by_schema method X-Git-Tag: sfa-1.0-36~38 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=1f9359ab44191e0996802a015a013c7f24484f0d;p=sfa.git added get_version_by_schema method --- diff --git a/sfa/rspecs/version_manager.py b/sfa/rspecs/version_manager.py index 534ec835..fb857a19 100644 --- a/sfa/rspecs/version_manager.py +++ b/sfa/rspecs/version_manager.py @@ -32,7 +32,7 @@ class VersionManager: if content_type is None or content_type.lower() == version.content_type.lower(): retval = version if not retval: - raise Exception, "No such version format: %s version: %s type:%s "% (type, version_num, content_type) + raise InvalidRSpec("No such version format: %s version: %s type:%s "% (type, version_num, content_type)) return retval def get_version(self, version): @@ -56,11 +56,20 @@ class VersionManager: return retval + def get_version_by_schema(self, schema): + retval = None + for version in self.versions: + if schema == version.schema: + retval = version + if not retval: + raise InvalidRSpec("Unkwnown RSpec schema: %s" % schema) + return retval + if __name__ == '__main__': v = VersionManager() print v.versions print v.get_version('sfa 1') print v.get_version('protogeni 2') print v.get_version('protogeni 2 advertisement') - + print v.get_version_by_schema('http://www.protogeni.net/resources/rspec/2/ad.xsd')