self.versions = []
self.load_versions()
+ def __repr__(self):
+ return "<VersionManager with {} flavours: [{}]>"\
+ .format(len(self.versions),
+ ", ".join( [ str(x) for x in self.versions ]))
+
def load_versions(self):
path = os.path.dirname(os.path.abspath( __file__ ))
versions_path = path + os.sep + 'versions'
for attr_name in dir(module):
attr = getattr(module, attr_name)
if hasattr(attr, 'version') and hasattr(attr, 'enabled') and attr.enabled == True:
- print filename, module, attr
self.versions.append(attr())
def _get_version(self, type, version_num=None, content_type=None):
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
+ def show_by_string(self, string):
+ try:
+ print self.get_version(string)
+ except Exception as e:
+ print e
+
+ def show_by_schema(self, string):
+ try:
+ print self.get_version_by_schema(string)
+ except Exception as e:
+ print e
if __name__ == '__main__':
- v = VersionManager()
- print v.versions
- 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')
+ manager = VersionManager()
+ print manager
+ manager.show_by_string('sfa 1')
+ manager.show_by_string('protogeni 2')
+ manager.show_by_string('protogeni 2 advertisement')
+ manager.show_by_schema('http://www.protogeni.net/resources/rspec/2/ad.xsd')
+ manager.show_by_schema('http://sorch.netmode.ntua.gr/ws/RSpec/ad.xsd')