X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Fversion_manager.py;h=8c00664f414034fdba3f7ef6a15650553efe945d;hb=66af88fe4acfdf333930643ffc8184ad948ecd5f;hp=666da7a14a6bd3648358c652d0f0d3a0d06fcbf7;hpb=4f15e8ccd973eaaabc08c20e0e6f140936a34237;p=sfa.git diff --git a/sfa/rspecs/version_manager.py b/sfa/rspecs/version_manager.py index 666da7a1..8c00664f 100644 --- a/sfa/rspecs/version_manager.py +++ b/sfa/rspecs/version_manager.py @@ -32,8 +32,10 @@ class VersionManager: if content_type is None or content_type.lower() == version.content_type.lower() \ or version.content_type == '*': retval = version + ### sounds like we should be glad with the first match, not the last one + break if not retval: - raise UnvalidRSpecVersion("%s %s is not suported here"% (type, version_num, content_type)) + raise UnsupportedRSpecVersion("[%s %s %s] is not suported here"% (type, version_num, content_type)) return retval def get_version(self, version=None): @@ -54,7 +56,7 @@ class VersionManager: elif isinstance(version, BaseVersion): retval = version else: - raise InvalidRSpec("No such version: %s "% str(version)) + raise UnsupportedRSpecVersion("No such version: %s "% str(version)) return retval @@ -67,11 +69,23 @@ class VersionManager: raise InvalidRSpec("Unkwnown RSpec schema: %s" % schema) return retval +def show_by_string(string): + try: + print v.get_version(string) + except Exception,e: + print e +def show_by_schema(string): + try: + print v.get_version_by_schema(string) + except Exception,e: + print e + 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') + show_by_string('sfa 1') + show_by_string('protogeni 2') + show_by_string('protogeni 2 advertisement') + show_by_schema('http://www.protogeni.net/resources/rspec/2/ad.xsd') + show_by_schema('http://sorch.netmode.ntua.gr/ws/RSpec/ad.xsd')