X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Frspecs%2Frspec_version.py;fp=sfa%2Frspecs%2Frspec_version.py;h=1c8a599d5087c8a1aea3c6bcda9952466f681f56;hb=40d980701a909581b485fbcf7c58ca3ace543961;hp=5caa5442939a25cafc4651e49e117d6e02361be3;hpb=e2ef655b4f4c9fb20f0c802aa7ed7ea300d79b22;p=sfa.git diff --git a/sfa/rspecs/rspec_version.py b/sfa/rspecs/rspec_version.py old mode 100644 new mode 100755 index 5caa5442..1c8a599d --- a/sfa/rspecs/rspec_version.py +++ b/sfa/rspecs/rspec_version.py @@ -1,31 +1,42 @@ #!/usr/bin/python from sfa.util.sfalogging import _SfaLogger +from sfa.rspecs.pl_rspec_version import default_rspec_version +class RSpecVersion(dict): -class RSpecVersion: + fields = {'type': None, + 'version': None, + 'schema': None, + 'namespace': None, + 'extensions': [] + } + def __init__(self, version={}): + + self.logger = _SfaLogger('/var/log/sfa.log') + dict.__init__(self, self.fields) - format = 'sfa' - version = '1' - schema = None - namespace = None - extensions = [] + if not version: + self.update(default_rspec_version) + elif isinstance(version, dict): + self.update(version) + elif isinstance(version, basestring): + version_parts = version.split(' ') + num_parts = len(version_parts) + self['type'] = version_parts[0] + if num_parts > 1: + self['version'] = version_parts[1] + else: + logger.info("Unable to parse rspec version, using default") - def __init__(self, version_string): - self.logger = _SfaLogger('/var/log/sfa.log') - self.parse_version_string(version_string) + def get_version_name(self): + return "%s %s" % (str(self['type']), str(self['version'])) - def parse_version_string(self, version_string): - # version_raw is currently a string but will - # eventually be a struct. - format_split = version_string.split(' ') - try: self.format = format_split[0].lower() - except: pass - try: self.version = format_split[1] - except: pass - +if __name__ == '__main__': + + from sfa.rspecs.pl_rspec_version import ad_rspec_versions + for version in [RSpecVersion(), + RSpecVersion("SFA"), + RSpecVersion("SFA 1"), + RSpecVersion(ad_rspec_versions[0])]: + print version.get_version_name() + ": " + str(version) - def parse_version_struct(self, version_struct): - try: - pass - except: - pass