#!/usr/bin/python
-from sfa.util.sfalogging import _SfaLogger
+from sfa.util.sfalogging import logger
-
-DEFAULT_FORMAT='sfa'
-DEFAULT_VERSION_NUMBER=1
-class RSpecVersion:
-
- format = None
+class BaseVersion:
+ type = None
+ content_type = None
version = None
schema = None
namespace = None
- extensions = []
+ extensions = {}
+ namespaces = dict(extensions.items() + [('default', namespace)])
+ elements = []
+ enabled = False
- def __init__(self, version_string):
- self.logger = _SfaLogger('/var/log/sfa.log')
- self.parse_version_string(version_string)
+ def __init__(self, xml=None):
+ self.xml = xml
- def parse_version_string(self, version_string):
- # version_raw is currently a string but will
- # eventually be a struct.
- try:
- format_split = version_string.split(' ')
- format, version = format_split[0].lower(), format_split[1]
- except:
- self.logger.info("RSpecVersion: invalid rspec version string: %s , using default" \
- % version_string)
- # invalid format. Just continue
- format, version = DEFAULT_FORMAT, DEFAULT_VERSION_NUMBER
+ def to_dict(self):
+ return {
+ 'type': self.type,
+ 'version': self.version,
+ 'schema': self.schema,
+ 'namespace': self.namespace,
+ 'extensions': self.extensions
+ }
- self.format = format
- self.version = version
+ def to_string(self):
+ return "%s %s" % (self.type, self.version)
- def parse_version_struct(self, version_struct):
- try:
- pass
- except:
- format, version = DEFAULT_FORMAT, DEFAULT_VERSION_NUMBER