2 from sfa.util.sfalogging import logger
11 namespaces = dict(extensions.items() + [('default', namespace)])
15 def __init__(self, xml=None):
21 'version': self.version,
22 'schema': self.schema,
23 'namespace': self.namespace,
24 'extensions': self.extensions
28 return "%s %s" % (self.type, self.version)
31 class RSpecVersion(dict):
33 fields = {'type': None,
39 def __init__(self, version={}):
41 dict.__init__(self, self.fields)
44 from sfa.rspecs.sfa_rspec import sfa_rspec_version
45 self.update(sfa_rspec_version)
46 elif isinstance(version, dict):
48 elif isinstance(version, basestring):
49 version_parts = version.split(' ')
50 num_parts = len(version_parts)
51 self['type'] = version_parts[0]
53 self['version'] = version_parts[1]
55 logger.info("Unable to parse rspec version, using default")
57 def get_version_name(self):
58 return "%s %s" % (str(self['type']), str(self['version']))
60 if __name__ == '__main__':
62 from sfa.rspecs.pl_rspec_version import ad_rspec_versions
63 for version in [RSpecVersion(),
65 RSpecVersion("SFA 1"),
66 RSpecVersion(ad_rspec_versions[0])]:
67 print version.get_version_name() + ": " + str(version)