File size: 6,276 Bytes
4c8c729
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# automatically generated by the FlatBuffers compiler, do not modify

# namespace: RegexModel_

import flatbuffers
from flatbuffers.compat import import_numpy
np = import_numpy()

class Pattern(object):
    __slots__ = ['_tab']

    @classmethod
    def GetRootAsPattern(cls, buf, offset):
        n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset)
        x = Pattern()
        x.Init(buf, n + offset)
        return x

    @classmethod
    def PatternBufferHasIdentifier(cls, buf, offset, size_prefixed=False):
        return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x43\x32\x20", size_prefixed=size_prefixed)

    # Pattern
    def Init(self, buf, pos):
        self._tab = flatbuffers.table.Table(buf, pos)

    # Pattern
    def CollectionName(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4))
        if o != 0:
            return self._tab.String(o + self._tab.Pos)
        return None

    # Pattern
    def Pattern(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6))
        if o != 0:
            return self._tab.String(o + self._tab.Pos)
        return None

    # Pattern
    def EnabledModes(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8))
        if o != 0:
            return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos)
        return 7

    # Pattern
    def TargetClassificationScore(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10))
        if o != 0:
            return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
        return 1.0

    # Pattern
    def PriorityScore(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12))
        if o != 0:
            return self._tab.Get(flatbuffers.number_types.Float32Flags, o + self._tab.Pos)
        return 0.0

    # Pattern
    def UseApproximateMatching(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(14))
        if o != 0:
            return bool(self._tab.Get(flatbuffers.number_types.BoolFlags, o + self._tab.Pos))
        return False

    # Pattern
    def CompressedPattern(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16))
        if o != 0:
            x = self._tab.Indirect(o + self._tab.Pos)
            from libtextclassifier3.CompressedBuffer import CompressedBuffer
            obj = CompressedBuffer()
            obj.Init(self._tab.Bytes, x)
            return obj
        return None

    # Pattern
    def VerificationOptions(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(18))
        if o != 0:
            x = self._tab.Indirect(o + self._tab.Pos)
            from libtextclassifier3.VerificationOptions import VerificationOptions
            obj = VerificationOptions()
            obj.Init(self._tab.Bytes, x)
            return obj
        return None

    # Pattern
    def CapturingGroup(self, j):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
        if o != 0:
            x = self._tab.Vector(o)
            x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
            x = self._tab.Indirect(x)
            from libtextclassifier3.CapturingGroup import CapturingGroup
            obj = CapturingGroup()
            obj.Init(self._tab.Bytes, x)
            return obj
        return None

    # Pattern
    def CapturingGroupLength(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
        if o != 0:
            return self._tab.VectorLen(o)
        return 0

    # Pattern
    def CapturingGroupIsNone(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(20))
        return o == 0

    # Pattern
    def SerializedEntityData(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(22))
        if o != 0:
            return self._tab.String(o + self._tab.Pos)
        return None

    # Pattern
    def EntityData(self):
        o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(24))
        if o != 0:
            x = self._tab.Indirect(o + self._tab.Pos)
            from libtextclassifier3.EntityData import EntityData
            obj = EntityData()
            obj.Init(self._tab.Bytes, x)
            return obj
        return None

def PatternStart(builder): builder.StartObject(11)
def PatternAddCollectionName(builder, collectionName): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(collectionName), 0)
def PatternAddPattern(builder, pattern): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(pattern), 0)
def PatternAddEnabledModes(builder, enabledModes): builder.PrependInt32Slot(2, enabledModes, 7)
def PatternAddTargetClassificationScore(builder, targetClassificationScore): builder.PrependFloat32Slot(3, targetClassificationScore, 1.0)
def PatternAddPriorityScore(builder, priorityScore): builder.PrependFloat32Slot(4, priorityScore, 0.0)
def PatternAddUseApproximateMatching(builder, useApproximateMatching): builder.PrependBoolSlot(5, useApproximateMatching, 0)
def PatternAddCompressedPattern(builder, compressedPattern): builder.PrependUOffsetTRelativeSlot(6, flatbuffers.number_types.UOffsetTFlags.py_type(compressedPattern), 0)
def PatternAddVerificationOptions(builder, verificationOptions): builder.PrependUOffsetTRelativeSlot(7, flatbuffers.number_types.UOffsetTFlags.py_type(verificationOptions), 0)
def PatternAddCapturingGroup(builder, capturingGroup): builder.PrependUOffsetTRelativeSlot(8, flatbuffers.number_types.UOffsetTFlags.py_type(capturingGroup), 0)
def PatternStartCapturingGroupVector(builder, numElems): return builder.StartVector(4, numElems, 4)
def PatternAddSerializedEntityData(builder, serializedEntityData): builder.PrependUOffsetTRelativeSlot(9, flatbuffers.number_types.UOffsetTFlags.py_type(serializedEntityData), 0)
def PatternAddEntityData(builder, entityData): builder.PrependUOffsetTRelativeSlot(10, flatbuffers.number_types.UOffsetTFlags.py_type(entityData), 0)
def PatternEnd(builder): return builder.EndObject()