Better python generated code naming (#6336)

* Remove a lot of redundancy from the Python generated code.

Update tutorial to reflect new Python generated code.

* Add aliases for newly deprecated Python generated methods.

This should help with backwards compatibility.

* Fix incorrect names in deprecated comments.
This commit is contained in:
Richard A Hofer
2021-01-28 15:35:37 -05:00
committed by GitHub
parent 6effe431bb
commit 13d9e35858
17 changed files with 1000 additions and 496 deletions

View File

@@ -10,12 +10,16 @@ class TableInC(object):
__slots__ = ['_tab']
@classmethod
def GetRootAsTableInC(cls, buf, offset=0):
def GetRootAs(cls, buf, offset=0):
n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
x = TableInC()
x.Init(buf, n + offset)
return x
@classmethod
def GetRootAsTableInC(cls, buf, offset=0):
"""This method is deprecated. Please switch to GetRootAs."""
return cls.GetRootAs(buf, offset)
# TableInC
def Init(self, buf, pos):
self._tab = flatbuffers.table.Table(buf, pos)
@@ -40,11 +44,22 @@ class TableInC(object):
return obj
return None
def TableInCStart(builder): builder.StartObject(2)
def TableInCAddReferToA1(builder, referToA1): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(referToA1), 0)
def TableInCAddReferToA2(builder, referToA2): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(referToA2), 0)
def TableInCEnd(builder): return builder.EndObject()
def Start(builder): builder.StartObject(2)
def TableInCStart(builder):
"""This method is deprecated. Please switch to Start."""
return Start(builder)
def AddReferToA1(builder, referToA1): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(referToA1), 0)
def TableInCAddReferToA1(builder, referToA1):
"""This method is deprecated. Please switch to AddReferToA1."""
return AddReferToA1(builder, referToA1)
def AddReferToA2(builder, referToA2): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(referToA2), 0)
def TableInCAddReferToA2(builder, referToA2):
"""This method is deprecated. Please switch to AddReferToA2."""
return AddReferToA2(builder, referToA2)
def End(builder): return builder.EndObject()
def TableInCEnd(builder):
"""This method is deprecated. Please switch to End."""
return End(builder)
try:
from typing import Optional
except:
@@ -84,10 +99,10 @@ class TableInCT(object):
referToA1 = self.referToA1.Pack(builder)
if self.referToA2 is not None:
referToA2 = self.referToA2.Pack(builder)
TableInCStart(builder)
Start(builder)
if self.referToA1 is not None:
TableInCAddReferToA1(builder, referToA1)
AddReferToA1(builder, referToA1)
if self.referToA2 is not None:
TableInCAddReferToA2(builder, referToA2)
tableInC = TableInCEnd(builder)
AddReferToA2(builder, referToA2)
tableInC = End(builder)
return tableInC