#!/usr/bin/python
-from sfa.util.sfalogging import sfa_logger
+from sfa.util.sfalogging import logger
-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_raw):
- self.logger = sfa_logger()
- self.parse_version(version_raw)
+ def __init__(self, xml=None):
+ self.xml = xml
- def parse_version(self, version_raw):
- # version_raw is currently a string but will
- # eventually be a struct.
- try:
- format_split = version_raw.split(' ')
- format, version = format_split[0].lower(), format_split[1]
- except:
- self.logger.info("RSpecVersion: invalid rspec version: %s , using default" \
- % version_raw)
- # invalid format. Just continue
- format, version = 'sfa', '1'
+ 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)
-