Merge branch 'master' into senslab2
[sfa.git] / sfa / rspecs / rspec_version.py
index 4deb924..8e311b7 100644 (file)
@@ -1,32 +1,30 @@
 #!/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)
     
 
-