aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorKevin Cheng <kevin.cheng@arm.com>2021-10-14 11:53:39 -0700
committerKevin Cheng <kevin.cheng@arm.com>2021-10-19 09:06:57 -0700
commitb97cb1d46690321235f814e5a52cb8186380bce3 (patch)
tree137bc8121ee88771a00fdb197d54b113ed036276 /python
parent6b078cac3ff2b33fd6d01c5e849424fbd9b2ac58 (diff)
downloadserialization_lib-b97cb1d46690321235f814e5a52cb8186380bce3.tar.gz
Both serializer and schema carry version info now
- version number now encoded in serializer as well - rename experimental to draft - rename internal function from FreezeBuilder/InitWithBuf to Serialize/Deserialize Signed-off-by: Kevin Cheng <kevin.cheng@arm.com> Change-Id: I70cb07832fdf66c6bde3d18aadf1f3646765887e
Diffstat (limited to 'python')
-rw-r--r--python/tosa/Version.py10
-rw-r--r--python/tosa_serializer.py41
2 files changed, 14 insertions, 37 deletions
diff --git a/python/tosa/Version.py b/python/tosa/Version.py
index a63c482..8414c8c 100644
--- a/python/tosa/Version.py
+++ b/python/tosa/Version.py
@@ -51,7 +51,7 @@ class Version(object):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
if o != 0:
return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
- return 22
+ return 23
# Version
def _patch(self):
@@ -61,15 +61,15 @@ class Version(object):
return 0
# Version
- def _experimental(self):
+ def _draft(self):
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
if o != 0:
return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
- return False
+ return True
def VersionStart(builder): builder.StartObject(4)
def VersionAdd_major(builder, Major): builder.PrependInt32Slot(0, Major, 0)
-def VersionAdd_minor(builder, Minor): builder.PrependInt32Slot(1, Minor, 22)
+def VersionAdd_minor(builder, Minor): builder.PrependInt32Slot(1, Minor, 23)
def VersionAdd_patch(builder, Patch): builder.PrependInt32Slot(2, Patch, 0)
-def VersionAdd_experimental(builder, Experimental): builder.PrependBoolSlot(3, Experimental, 0)
+def VersionAdd_draft(builder, Draft): builder.PrependBoolSlot(3, Draft, 1)
def VersionEnd(builder): return builder.EndObject()
diff --git a/python/tosa_serializer.py b/python/tosa_serializer.py
index 04b2fc4..f0d7c63 100644
--- a/python/tosa_serializer.py
+++ b/python/tosa_serializer.py
@@ -35,6 +35,14 @@ from tosa_ref_run import TosaReturnCode
import tosa
+TOSA_VERSION_MAJOR = 0
+TOSA_VERSION_MINOR = 23
+TOSA_VERSION_PATCH = 0
+TOSA_VERSION_DRAFT = True
+TOSA_VERSION = [TOSA_VERSION_MAJOR,
+ TOSA_VERSION_MINOR,
+ TOSA_VERSION_PATCH,
+ TOSA_VERSION_DRAFT]
# With the way flatc generates its python types, there is no programatic way
# to get string names for the integer types. Manually maintain a string table
# here.
@@ -570,10 +578,6 @@ class TosaSerializer:
def __init__(self, pathPrefix):
# Get the global TOSA version if not already defined
- try:
- TOSA_VERSION
- except NameError:
- TosaSerializer.setTosaVersion()
self.builder = flatbuffers.Builder(0)
@@ -688,7 +692,7 @@ class TosaSerializer:
Version.VersionAdd_major(builder, TOSA_VERSION[0])
Version.VersionAdd_minor(builder, TOSA_VERSION[1])
Version.VersionAdd_patch(builder, TOSA_VERSION[2])
- Version.VersionAdd_experimental(builder, TOSA_VERSION[3])
+ Version.VersionAdd_draft(builder, TOSA_VERSION[3])
version = Version.VersionEnd(builder)
fbv_bb = TosaSerializer.serializeObjVec(
@@ -805,30 +809,3 @@ class TosaSerializer:
else:
return [val]
- @staticmethod
- def setTosaVersion():
- # Create a dummy flatbuffers file with the default version information
- # There does not appear to be a better way to get a constant from a
- # flatbuffer schema file
- builder = flatbuffers.Builder(0)
- Version.VersionStart(builder)
- ver = Version.VersionEnd(builder)
- TosaGraph.TosaGraphStart(builder)
- TosaGraph.TosaGraphAddVersion(builder, ver)
- gr = TosaGraph.TosaGraphEnd(builder)
- builder.Finish(gr)
-
- out = builder.Output()
-
- gr = TosaGraph.TosaGraph()
- root = gr.GetRootAsTosaGraph(out, 0)
-
- # Store the version as a global variable so that it only needs to be
- # generated once per process.
- global TOSA_VERSION
- TOSA_VERSION = [
- root.Version()._major(),
- root.Version()._minor(),
- root.Version()._patch(),
- root.Version()._experimental(),
- ]