audex 1.0.7a3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- audex/__init__.py +9 -0
- audex/__main__.py +7 -0
- audex/cli/__init__.py +189 -0
- audex/cli/apis/__init__.py +12 -0
- audex/cli/apis/init/__init__.py +34 -0
- audex/cli/apis/init/gencfg.py +130 -0
- audex/cli/apis/init/setup.py +330 -0
- audex/cli/apis/init/vprgroup.py +125 -0
- audex/cli/apis/serve.py +141 -0
- audex/cli/args.py +356 -0
- audex/cli/exceptions.py +44 -0
- audex/cli/helper/__init__.py +0 -0
- audex/cli/helper/ansi.py +193 -0
- audex/cli/helper/display.py +288 -0
- audex/config/__init__.py +64 -0
- audex/config/core/__init__.py +30 -0
- audex/config/core/app.py +29 -0
- audex/config/core/audio.py +45 -0
- audex/config/core/logging.py +163 -0
- audex/config/core/session.py +11 -0
- audex/config/helper/__init__.py +1 -0
- audex/config/helper/client/__init__.py +1 -0
- audex/config/helper/client/http.py +28 -0
- audex/config/helper/client/websocket.py +21 -0
- audex/config/helper/provider/__init__.py +1 -0
- audex/config/helper/provider/dashscope.py +13 -0
- audex/config/helper/provider/unisound.py +18 -0
- audex/config/helper/provider/xfyun.py +23 -0
- audex/config/infrastructure/__init__.py +31 -0
- audex/config/infrastructure/cache.py +51 -0
- audex/config/infrastructure/database.py +48 -0
- audex/config/infrastructure/recorder.py +32 -0
- audex/config/infrastructure/store.py +19 -0
- audex/config/provider/__init__.py +18 -0
- audex/config/provider/transcription.py +109 -0
- audex/config/provider/vpr.py +99 -0
- audex/container.py +40 -0
- audex/entity/__init__.py +468 -0
- audex/entity/doctor.py +109 -0
- audex/entity/doctor.pyi +51 -0
- audex/entity/fields.py +401 -0
- audex/entity/segment.py +115 -0
- audex/entity/segment.pyi +38 -0
- audex/entity/session.py +133 -0
- audex/entity/session.pyi +47 -0
- audex/entity/utterance.py +142 -0
- audex/entity/utterance.pyi +48 -0
- audex/entity/vp.py +68 -0
- audex/entity/vp.pyi +35 -0
- audex/exceptions.py +157 -0
- audex/filters/__init__.py +692 -0
- audex/filters/generated/__init__.py +21 -0
- audex/filters/generated/doctor.py +987 -0
- audex/filters/generated/segment.py +723 -0
- audex/filters/generated/session.py +978 -0
- audex/filters/generated/utterance.py +939 -0
- audex/filters/generated/vp.py +815 -0
- audex/helper/__init__.py +1 -0
- audex/helper/hash.py +33 -0
- audex/helper/mixin.py +65 -0
- audex/helper/net.py +19 -0
- audex/helper/settings/__init__.py +830 -0
- audex/helper/settings/fields.py +317 -0
- audex/helper/stream.py +153 -0
- audex/injectors/__init__.py +1 -0
- audex/injectors/config.py +12 -0
- audex/injectors/lifespan.py +7 -0
- audex/lib/__init__.py +1 -0
- audex/lib/cache/__init__.py +383 -0
- audex/lib/cache/inmemory.py +513 -0
- audex/lib/database/__init__.py +83 -0
- audex/lib/database/sqlite.py +406 -0
- audex/lib/exporter.py +189 -0
- audex/lib/injectors/__init__.py +1 -0
- audex/lib/injectors/cache.py +25 -0
- audex/lib/injectors/container.py +47 -0
- audex/lib/injectors/exporter.py +26 -0
- audex/lib/injectors/recorder.py +33 -0
- audex/lib/injectors/server.py +17 -0
- audex/lib/injectors/session.py +18 -0
- audex/lib/injectors/sqlite.py +24 -0
- audex/lib/injectors/store.py +13 -0
- audex/lib/injectors/transcription.py +42 -0
- audex/lib/injectors/usb.py +12 -0
- audex/lib/injectors/vpr.py +65 -0
- audex/lib/injectors/wifi.py +7 -0
- audex/lib/recorder.py +844 -0
- audex/lib/repos/__init__.py +149 -0
- audex/lib/repos/container.py +23 -0
- audex/lib/repos/database/__init__.py +1 -0
- audex/lib/repos/database/sqlite.py +672 -0
- audex/lib/repos/decorators.py +74 -0
- audex/lib/repos/doctor.py +286 -0
- audex/lib/repos/segment.py +302 -0
- audex/lib/repos/session.py +285 -0
- audex/lib/repos/tables/__init__.py +70 -0
- audex/lib/repos/tables/doctor.py +137 -0
- audex/lib/repos/tables/segment.py +113 -0
- audex/lib/repos/tables/session.py +140 -0
- audex/lib/repos/tables/utterance.py +131 -0
- audex/lib/repos/tables/vp.py +102 -0
- audex/lib/repos/utterance.py +288 -0
- audex/lib/repos/vp.py +286 -0
- audex/lib/restful.py +251 -0
- audex/lib/server/__init__.py +97 -0
- audex/lib/server/auth.py +98 -0
- audex/lib/server/handlers.py +248 -0
- audex/lib/server/templates/index.html.j2 +226 -0
- audex/lib/server/templates/login.html.j2 +111 -0
- audex/lib/server/templates/static/script.js +68 -0
- audex/lib/server/templates/static/style.css +579 -0
- audex/lib/server/types.py +123 -0
- audex/lib/session.py +503 -0
- audex/lib/store/__init__.py +238 -0
- audex/lib/store/localfile.py +411 -0
- audex/lib/transcription/__init__.py +33 -0
- audex/lib/transcription/dashscope.py +525 -0
- audex/lib/transcription/events.py +62 -0
- audex/lib/usb.py +554 -0
- audex/lib/vpr/__init__.py +38 -0
- audex/lib/vpr/unisound/__init__.py +185 -0
- audex/lib/vpr/unisound/types.py +469 -0
- audex/lib/vpr/xfyun/__init__.py +483 -0
- audex/lib/vpr/xfyun/types.py +679 -0
- audex/lib/websocket/__init__.py +8 -0
- audex/lib/websocket/connection.py +485 -0
- audex/lib/websocket/pool.py +991 -0
- audex/lib/wifi.py +1146 -0
- audex/lifespan.py +75 -0
- audex/service/__init__.py +27 -0
- audex/service/decorators.py +73 -0
- audex/service/doctor/__init__.py +652 -0
- audex/service/doctor/const.py +36 -0
- audex/service/doctor/exceptions.py +96 -0
- audex/service/doctor/types.py +54 -0
- audex/service/export/__init__.py +236 -0
- audex/service/export/const.py +17 -0
- audex/service/export/exceptions.py +34 -0
- audex/service/export/types.py +21 -0
- audex/service/injectors/__init__.py +1 -0
- audex/service/injectors/container.py +53 -0
- audex/service/injectors/doctor.py +34 -0
- audex/service/injectors/export.py +27 -0
- audex/service/injectors/session.py +49 -0
- audex/service/session/__init__.py +754 -0
- audex/service/session/const.py +34 -0
- audex/service/session/exceptions.py +67 -0
- audex/service/session/types.py +91 -0
- audex/types.py +39 -0
- audex/utils.py +287 -0
- audex/valueobj/__init__.py +81 -0
- audex/valueobj/common/__init__.py +1 -0
- audex/valueobj/common/auth.py +84 -0
- audex/valueobj/common/email.py +16 -0
- audex/valueobj/common/ops.py +22 -0
- audex/valueobj/common/phone.py +84 -0
- audex/valueobj/common/version.py +72 -0
- audex/valueobj/session.py +19 -0
- audex/valueobj/utterance.py +15 -0
- audex/view/__init__.py +51 -0
- audex/view/container.py +17 -0
- audex/view/decorators.py +303 -0
- audex/view/pages/__init__.py +1 -0
- audex/view/pages/dashboard/__init__.py +286 -0
- audex/view/pages/dashboard/wifi.py +407 -0
- audex/view/pages/login.py +110 -0
- audex/view/pages/recording.py +348 -0
- audex/view/pages/register.py +202 -0
- audex/view/pages/sessions/__init__.py +196 -0
- audex/view/pages/sessions/details.py +224 -0
- audex/view/pages/sessions/export.py +443 -0
- audex/view/pages/settings.py +374 -0
- audex/view/pages/voiceprint/__init__.py +1 -0
- audex/view/pages/voiceprint/enroll.py +195 -0
- audex/view/pages/voiceprint/update.py +195 -0
- audex/view/static/css/dashboard.css +452 -0
- audex/view/static/css/glass.css +22 -0
- audex/view/static/css/global.css +541 -0
- audex/view/static/css/login.css +386 -0
- audex/view/static/css/recording.css +439 -0
- audex/view/static/css/register.css +293 -0
- audex/view/static/css/sessions/styles.css +501 -0
- audex/view/static/css/settings.css +186 -0
- audex/view/static/css/voiceprint/enroll.css +43 -0
- audex/view/static/css/voiceprint/styles.css +209 -0
- audex/view/static/css/voiceprint/update.css +44 -0
- audex/view/static/images/logo.svg +95 -0
- audex/view/static/js/recording.js +42 -0
- audex-1.0.7a3.dist-info/METADATA +361 -0
- audex-1.0.7a3.dist-info/RECORD +192 -0
- audex-1.0.7a3.dist-info/WHEEL +4 -0
- audex-1.0.7a3.dist-info/entry_points.txt +3 -0
|
@@ -0,0 +1,939 @@
|
|
|
1
|
+
# This file is auto-generated by PrototypeX filter generator.
|
|
2
|
+
# Do not edit manually - changes will be overwritten.
|
|
3
|
+
# Regenerate using: python -m scripts.gen_filters gen
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
import datetime
|
|
8
|
+
import typing as t
|
|
9
|
+
|
|
10
|
+
from audex.entity.utterance import Utterance
|
|
11
|
+
from audex.filters import FieldFilter
|
|
12
|
+
from audex.filters import Filter
|
|
13
|
+
from audex.filters import FilterBuilder
|
|
14
|
+
from audex.filters import StringBackedFieldFilter
|
|
15
|
+
from audex.filters import StringFieldFilter
|
|
16
|
+
from audex.valueobj.utterance import Speaker
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class UtteranceFilterBuilder(FilterBuilder[Utterance]):
|
|
20
|
+
"""Utterance filter builder with full type hints and IDE support.
|
|
21
|
+
|
|
22
|
+
This class is auto-generated. Do not edit manually.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
class _IdField(StringFieldFilter):
|
|
26
|
+
"""Chainable id filter with type-safe operations."""
|
|
27
|
+
|
|
28
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
29
|
+
super().__init__("id", object.__getattribute__(builder, "_filter"))
|
|
30
|
+
self._parent_builder = builder
|
|
31
|
+
|
|
32
|
+
def eq(self, value: str) -> UtteranceFilterBuilder:
|
|
33
|
+
super().eq(value)
|
|
34
|
+
return self._parent_builder
|
|
35
|
+
|
|
36
|
+
def ne(self, value: str) -> UtteranceFilterBuilder:
|
|
37
|
+
super().ne(value)
|
|
38
|
+
return self._parent_builder
|
|
39
|
+
|
|
40
|
+
def gt(self, value: str) -> UtteranceFilterBuilder:
|
|
41
|
+
super().gt(value)
|
|
42
|
+
return self._parent_builder
|
|
43
|
+
|
|
44
|
+
def lt(self, value: str) -> UtteranceFilterBuilder:
|
|
45
|
+
super().lt(value)
|
|
46
|
+
return self._parent_builder
|
|
47
|
+
|
|
48
|
+
def gte(self, value: str) -> UtteranceFilterBuilder:
|
|
49
|
+
super().gte(value)
|
|
50
|
+
return self._parent_builder
|
|
51
|
+
|
|
52
|
+
def lte(self, value: str) -> UtteranceFilterBuilder:
|
|
53
|
+
super().lte(value)
|
|
54
|
+
return self._parent_builder
|
|
55
|
+
|
|
56
|
+
def in_(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
57
|
+
super().in_(values)
|
|
58
|
+
return self._parent_builder
|
|
59
|
+
|
|
60
|
+
def nin(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
61
|
+
super().nin(values)
|
|
62
|
+
return self._parent_builder
|
|
63
|
+
|
|
64
|
+
def between(self, value1: str, value2: str) -> UtteranceFilterBuilder:
|
|
65
|
+
super().between(value1, value2)
|
|
66
|
+
return self._parent_builder
|
|
67
|
+
|
|
68
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
69
|
+
super().is_null()
|
|
70
|
+
return self._parent_builder
|
|
71
|
+
|
|
72
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
73
|
+
super().is_not_null()
|
|
74
|
+
return self._parent_builder
|
|
75
|
+
|
|
76
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
77
|
+
super().asc()
|
|
78
|
+
return self._parent_builder
|
|
79
|
+
|
|
80
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
81
|
+
super().desc()
|
|
82
|
+
return self._parent_builder
|
|
83
|
+
|
|
84
|
+
def contains(self, value: str) -> UtteranceFilterBuilder:
|
|
85
|
+
super().contains(value)
|
|
86
|
+
return self._parent_builder
|
|
87
|
+
|
|
88
|
+
def startswith(self, value: str) -> UtteranceFilterBuilder:
|
|
89
|
+
super().startswith(value)
|
|
90
|
+
return self._parent_builder
|
|
91
|
+
|
|
92
|
+
def endswith(self, value: str) -> UtteranceFilterBuilder:
|
|
93
|
+
super().endswith(value)
|
|
94
|
+
return self._parent_builder
|
|
95
|
+
|
|
96
|
+
class _CreatedAtField(FieldFilter[datetime.datetime]):
|
|
97
|
+
"""Chainable created_at filter with type-safe operations."""
|
|
98
|
+
|
|
99
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
100
|
+
super().__init__("created_at", object.__getattribute__(builder, "_filter"))
|
|
101
|
+
self._parent_builder = builder
|
|
102
|
+
|
|
103
|
+
def eq(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
104
|
+
super().eq(value)
|
|
105
|
+
return self._parent_builder
|
|
106
|
+
|
|
107
|
+
def ne(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
108
|
+
super().ne(value)
|
|
109
|
+
return self._parent_builder
|
|
110
|
+
|
|
111
|
+
def gt(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
112
|
+
super().gt(value)
|
|
113
|
+
return self._parent_builder
|
|
114
|
+
|
|
115
|
+
def lt(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
116
|
+
super().lt(value)
|
|
117
|
+
return self._parent_builder
|
|
118
|
+
|
|
119
|
+
def gte(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
120
|
+
super().gte(value)
|
|
121
|
+
return self._parent_builder
|
|
122
|
+
|
|
123
|
+
def lte(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
124
|
+
super().lte(value)
|
|
125
|
+
return self._parent_builder
|
|
126
|
+
|
|
127
|
+
def in_(self, values: t.Sequence[datetime.datetime]) -> UtteranceFilterBuilder:
|
|
128
|
+
super().in_(values)
|
|
129
|
+
return self._parent_builder
|
|
130
|
+
|
|
131
|
+
def nin(self, values: t.Sequence[datetime.datetime]) -> UtteranceFilterBuilder:
|
|
132
|
+
super().nin(values)
|
|
133
|
+
return self._parent_builder
|
|
134
|
+
|
|
135
|
+
def between(
|
|
136
|
+
self, value1: datetime.datetime, value2: datetime.datetime
|
|
137
|
+
) -> UtteranceFilterBuilder:
|
|
138
|
+
super().between(value1, value2)
|
|
139
|
+
return self._parent_builder
|
|
140
|
+
|
|
141
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
142
|
+
super().is_null()
|
|
143
|
+
return self._parent_builder
|
|
144
|
+
|
|
145
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
146
|
+
super().is_not_null()
|
|
147
|
+
return self._parent_builder
|
|
148
|
+
|
|
149
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
150
|
+
super().asc()
|
|
151
|
+
return self._parent_builder
|
|
152
|
+
|
|
153
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
154
|
+
super().desc()
|
|
155
|
+
return self._parent_builder
|
|
156
|
+
|
|
157
|
+
class _UpdatedAtField(FieldFilter[datetime.datetime | None]):
|
|
158
|
+
"""Chainable updated_at filter with type-safe operations."""
|
|
159
|
+
|
|
160
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
161
|
+
super().__init__("updated_at", object.__getattribute__(builder, "_filter"))
|
|
162
|
+
self._parent_builder = builder
|
|
163
|
+
|
|
164
|
+
def eq(self, value: datetime.datetime | None) -> UtteranceFilterBuilder:
|
|
165
|
+
super().eq(value)
|
|
166
|
+
return self._parent_builder
|
|
167
|
+
|
|
168
|
+
def ne(self, value: datetime.datetime | None) -> UtteranceFilterBuilder:
|
|
169
|
+
super().ne(value)
|
|
170
|
+
return self._parent_builder
|
|
171
|
+
|
|
172
|
+
def gt(self, value: datetime.datetime | None) -> UtteranceFilterBuilder:
|
|
173
|
+
super().gt(value)
|
|
174
|
+
return self._parent_builder
|
|
175
|
+
|
|
176
|
+
def lt(self, value: datetime.datetime | None) -> UtteranceFilterBuilder:
|
|
177
|
+
super().lt(value)
|
|
178
|
+
return self._parent_builder
|
|
179
|
+
|
|
180
|
+
def gte(self, value: datetime.datetime | None) -> UtteranceFilterBuilder:
|
|
181
|
+
super().gte(value)
|
|
182
|
+
return self._parent_builder
|
|
183
|
+
|
|
184
|
+
def lte(self, value: datetime.datetime | None) -> UtteranceFilterBuilder:
|
|
185
|
+
super().lte(value)
|
|
186
|
+
return self._parent_builder
|
|
187
|
+
|
|
188
|
+
def in_(self, values: t.Sequence[datetime.datetime | None]) -> UtteranceFilterBuilder:
|
|
189
|
+
super().in_(values)
|
|
190
|
+
return self._parent_builder
|
|
191
|
+
|
|
192
|
+
def nin(self, values: t.Sequence[datetime.datetime | None]) -> UtteranceFilterBuilder:
|
|
193
|
+
super().nin(values)
|
|
194
|
+
return self._parent_builder
|
|
195
|
+
|
|
196
|
+
def between(
|
|
197
|
+
self, value1: datetime.datetime | None, value2: datetime.datetime | None
|
|
198
|
+
) -> UtteranceFilterBuilder:
|
|
199
|
+
super().between(value1, value2)
|
|
200
|
+
return self._parent_builder
|
|
201
|
+
|
|
202
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
203
|
+
super().is_null()
|
|
204
|
+
return self._parent_builder
|
|
205
|
+
|
|
206
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
207
|
+
super().is_not_null()
|
|
208
|
+
return self._parent_builder
|
|
209
|
+
|
|
210
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
211
|
+
super().asc()
|
|
212
|
+
return self._parent_builder
|
|
213
|
+
|
|
214
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
215
|
+
super().desc()
|
|
216
|
+
return self._parent_builder
|
|
217
|
+
|
|
218
|
+
class _SessionIdField(StringFieldFilter):
|
|
219
|
+
"""Chainable session_id filter with type-safe operations."""
|
|
220
|
+
|
|
221
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
222
|
+
super().__init__("session_id", object.__getattribute__(builder, "_filter"))
|
|
223
|
+
self._parent_builder = builder
|
|
224
|
+
|
|
225
|
+
def eq(self, value: str) -> UtteranceFilterBuilder:
|
|
226
|
+
super().eq(value)
|
|
227
|
+
return self._parent_builder
|
|
228
|
+
|
|
229
|
+
def ne(self, value: str) -> UtteranceFilterBuilder:
|
|
230
|
+
super().ne(value)
|
|
231
|
+
return self._parent_builder
|
|
232
|
+
|
|
233
|
+
def gt(self, value: str) -> UtteranceFilterBuilder:
|
|
234
|
+
super().gt(value)
|
|
235
|
+
return self._parent_builder
|
|
236
|
+
|
|
237
|
+
def lt(self, value: str) -> UtteranceFilterBuilder:
|
|
238
|
+
super().lt(value)
|
|
239
|
+
return self._parent_builder
|
|
240
|
+
|
|
241
|
+
def gte(self, value: str) -> UtteranceFilterBuilder:
|
|
242
|
+
super().gte(value)
|
|
243
|
+
return self._parent_builder
|
|
244
|
+
|
|
245
|
+
def lte(self, value: str) -> UtteranceFilterBuilder:
|
|
246
|
+
super().lte(value)
|
|
247
|
+
return self._parent_builder
|
|
248
|
+
|
|
249
|
+
def in_(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
250
|
+
super().in_(values)
|
|
251
|
+
return self._parent_builder
|
|
252
|
+
|
|
253
|
+
def nin(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
254
|
+
super().nin(values)
|
|
255
|
+
return self._parent_builder
|
|
256
|
+
|
|
257
|
+
def between(self, value1: str, value2: str) -> UtteranceFilterBuilder:
|
|
258
|
+
super().between(value1, value2)
|
|
259
|
+
return self._parent_builder
|
|
260
|
+
|
|
261
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
262
|
+
super().is_null()
|
|
263
|
+
return self._parent_builder
|
|
264
|
+
|
|
265
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
266
|
+
super().is_not_null()
|
|
267
|
+
return self._parent_builder
|
|
268
|
+
|
|
269
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
270
|
+
super().asc()
|
|
271
|
+
return self._parent_builder
|
|
272
|
+
|
|
273
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
274
|
+
super().desc()
|
|
275
|
+
return self._parent_builder
|
|
276
|
+
|
|
277
|
+
def contains(self, value: str) -> UtteranceFilterBuilder:
|
|
278
|
+
super().contains(value)
|
|
279
|
+
return self._parent_builder
|
|
280
|
+
|
|
281
|
+
def startswith(self, value: str) -> UtteranceFilterBuilder:
|
|
282
|
+
super().startswith(value)
|
|
283
|
+
return self._parent_builder
|
|
284
|
+
|
|
285
|
+
def endswith(self, value: str) -> UtteranceFilterBuilder:
|
|
286
|
+
super().endswith(value)
|
|
287
|
+
return self._parent_builder
|
|
288
|
+
|
|
289
|
+
class _SegmentIdField(StringFieldFilter):
|
|
290
|
+
"""Chainable segment_id filter with type-safe operations."""
|
|
291
|
+
|
|
292
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
293
|
+
super().__init__("segment_id", object.__getattribute__(builder, "_filter"))
|
|
294
|
+
self._parent_builder = builder
|
|
295
|
+
|
|
296
|
+
def eq(self, value: str) -> UtteranceFilterBuilder:
|
|
297
|
+
super().eq(value)
|
|
298
|
+
return self._parent_builder
|
|
299
|
+
|
|
300
|
+
def ne(self, value: str) -> UtteranceFilterBuilder:
|
|
301
|
+
super().ne(value)
|
|
302
|
+
return self._parent_builder
|
|
303
|
+
|
|
304
|
+
def gt(self, value: str) -> UtteranceFilterBuilder:
|
|
305
|
+
super().gt(value)
|
|
306
|
+
return self._parent_builder
|
|
307
|
+
|
|
308
|
+
def lt(self, value: str) -> UtteranceFilterBuilder:
|
|
309
|
+
super().lt(value)
|
|
310
|
+
return self._parent_builder
|
|
311
|
+
|
|
312
|
+
def gte(self, value: str) -> UtteranceFilterBuilder:
|
|
313
|
+
super().gte(value)
|
|
314
|
+
return self._parent_builder
|
|
315
|
+
|
|
316
|
+
def lte(self, value: str) -> UtteranceFilterBuilder:
|
|
317
|
+
super().lte(value)
|
|
318
|
+
return self._parent_builder
|
|
319
|
+
|
|
320
|
+
def in_(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
321
|
+
super().in_(values)
|
|
322
|
+
return self._parent_builder
|
|
323
|
+
|
|
324
|
+
def nin(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
325
|
+
super().nin(values)
|
|
326
|
+
return self._parent_builder
|
|
327
|
+
|
|
328
|
+
def between(self, value1: str, value2: str) -> UtteranceFilterBuilder:
|
|
329
|
+
super().between(value1, value2)
|
|
330
|
+
return self._parent_builder
|
|
331
|
+
|
|
332
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
333
|
+
super().is_null()
|
|
334
|
+
return self._parent_builder
|
|
335
|
+
|
|
336
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
337
|
+
super().is_not_null()
|
|
338
|
+
return self._parent_builder
|
|
339
|
+
|
|
340
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
341
|
+
super().asc()
|
|
342
|
+
return self._parent_builder
|
|
343
|
+
|
|
344
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
345
|
+
super().desc()
|
|
346
|
+
return self._parent_builder
|
|
347
|
+
|
|
348
|
+
def contains(self, value: str) -> UtteranceFilterBuilder:
|
|
349
|
+
super().contains(value)
|
|
350
|
+
return self._parent_builder
|
|
351
|
+
|
|
352
|
+
def startswith(self, value: str) -> UtteranceFilterBuilder:
|
|
353
|
+
super().startswith(value)
|
|
354
|
+
return self._parent_builder
|
|
355
|
+
|
|
356
|
+
def endswith(self, value: str) -> UtteranceFilterBuilder:
|
|
357
|
+
super().endswith(value)
|
|
358
|
+
return self._parent_builder
|
|
359
|
+
|
|
360
|
+
class _SequenceField(FieldFilter[int]):
|
|
361
|
+
"""Chainable sequence filter with type-safe operations."""
|
|
362
|
+
|
|
363
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
364
|
+
super().__init__("sequence", object.__getattribute__(builder, "_filter"))
|
|
365
|
+
self._parent_builder = builder
|
|
366
|
+
|
|
367
|
+
def eq(self, value: int) -> UtteranceFilterBuilder:
|
|
368
|
+
super().eq(value)
|
|
369
|
+
return self._parent_builder
|
|
370
|
+
|
|
371
|
+
def ne(self, value: int) -> UtteranceFilterBuilder:
|
|
372
|
+
super().ne(value)
|
|
373
|
+
return self._parent_builder
|
|
374
|
+
|
|
375
|
+
def gt(self, value: int) -> UtteranceFilterBuilder:
|
|
376
|
+
super().gt(value)
|
|
377
|
+
return self._parent_builder
|
|
378
|
+
|
|
379
|
+
def lt(self, value: int) -> UtteranceFilterBuilder:
|
|
380
|
+
super().lt(value)
|
|
381
|
+
return self._parent_builder
|
|
382
|
+
|
|
383
|
+
def gte(self, value: int) -> UtteranceFilterBuilder:
|
|
384
|
+
super().gte(value)
|
|
385
|
+
return self._parent_builder
|
|
386
|
+
|
|
387
|
+
def lte(self, value: int) -> UtteranceFilterBuilder:
|
|
388
|
+
super().lte(value)
|
|
389
|
+
return self._parent_builder
|
|
390
|
+
|
|
391
|
+
def in_(self, values: t.Sequence[int]) -> UtteranceFilterBuilder:
|
|
392
|
+
super().in_(values)
|
|
393
|
+
return self._parent_builder
|
|
394
|
+
|
|
395
|
+
def nin(self, values: t.Sequence[int]) -> UtteranceFilterBuilder:
|
|
396
|
+
super().nin(values)
|
|
397
|
+
return self._parent_builder
|
|
398
|
+
|
|
399
|
+
def between(self, value1: int, value2: int) -> UtteranceFilterBuilder:
|
|
400
|
+
super().between(value1, value2)
|
|
401
|
+
return self._parent_builder
|
|
402
|
+
|
|
403
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
404
|
+
super().is_null()
|
|
405
|
+
return self._parent_builder
|
|
406
|
+
|
|
407
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
408
|
+
super().is_not_null()
|
|
409
|
+
return self._parent_builder
|
|
410
|
+
|
|
411
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
412
|
+
super().asc()
|
|
413
|
+
return self._parent_builder
|
|
414
|
+
|
|
415
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
416
|
+
super().desc()
|
|
417
|
+
return self._parent_builder
|
|
418
|
+
|
|
419
|
+
class _SpeakerField(StringBackedFieldFilter[Speaker]):
|
|
420
|
+
"""Chainable speaker filter with type-safe operations."""
|
|
421
|
+
|
|
422
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
423
|
+
super().__init__("speaker", object.__getattribute__(builder, "_filter"))
|
|
424
|
+
self._parent_builder = builder
|
|
425
|
+
|
|
426
|
+
def eq(self, value: Speaker) -> UtteranceFilterBuilder:
|
|
427
|
+
super().eq(value)
|
|
428
|
+
return self._parent_builder
|
|
429
|
+
|
|
430
|
+
def ne(self, value: Speaker) -> UtteranceFilterBuilder:
|
|
431
|
+
super().ne(value)
|
|
432
|
+
return self._parent_builder
|
|
433
|
+
|
|
434
|
+
def gt(self, value: Speaker) -> UtteranceFilterBuilder:
|
|
435
|
+
super().gt(value)
|
|
436
|
+
return self._parent_builder
|
|
437
|
+
|
|
438
|
+
def lt(self, value: Speaker) -> UtteranceFilterBuilder:
|
|
439
|
+
super().lt(value)
|
|
440
|
+
return self._parent_builder
|
|
441
|
+
|
|
442
|
+
def gte(self, value: Speaker) -> UtteranceFilterBuilder:
|
|
443
|
+
super().gte(value)
|
|
444
|
+
return self._parent_builder
|
|
445
|
+
|
|
446
|
+
def lte(self, value: Speaker) -> UtteranceFilterBuilder:
|
|
447
|
+
super().lte(value)
|
|
448
|
+
return self._parent_builder
|
|
449
|
+
|
|
450
|
+
def in_(self, values: t.Sequence[Speaker]) -> UtteranceFilterBuilder:
|
|
451
|
+
super().in_(values)
|
|
452
|
+
return self._parent_builder
|
|
453
|
+
|
|
454
|
+
def nin(self, values: t.Sequence[Speaker]) -> UtteranceFilterBuilder:
|
|
455
|
+
super().nin(values)
|
|
456
|
+
return self._parent_builder
|
|
457
|
+
|
|
458
|
+
def between(self, value1: Speaker, value2: Speaker) -> UtteranceFilterBuilder:
|
|
459
|
+
super().between(value1, value2)
|
|
460
|
+
return self._parent_builder
|
|
461
|
+
|
|
462
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
463
|
+
super().is_null()
|
|
464
|
+
return self._parent_builder
|
|
465
|
+
|
|
466
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
467
|
+
super().is_not_null()
|
|
468
|
+
return self._parent_builder
|
|
469
|
+
|
|
470
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
471
|
+
super().asc()
|
|
472
|
+
return self._parent_builder
|
|
473
|
+
|
|
474
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
475
|
+
super().desc()
|
|
476
|
+
return self._parent_builder
|
|
477
|
+
|
|
478
|
+
def contains(self, value: str) -> UtteranceFilterBuilder:
|
|
479
|
+
super().contains(value)
|
|
480
|
+
return self._parent_builder
|
|
481
|
+
|
|
482
|
+
def startswith(self, value: str) -> UtteranceFilterBuilder:
|
|
483
|
+
super().startswith(value)
|
|
484
|
+
return self._parent_builder
|
|
485
|
+
|
|
486
|
+
def endswith(self, value: str) -> UtteranceFilterBuilder:
|
|
487
|
+
super().endswith(value)
|
|
488
|
+
return self._parent_builder
|
|
489
|
+
|
|
490
|
+
class _TextField(StringFieldFilter):
|
|
491
|
+
"""Chainable text filter with type-safe operations."""
|
|
492
|
+
|
|
493
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
494
|
+
super().__init__("text", object.__getattribute__(builder, "_filter"))
|
|
495
|
+
self._parent_builder = builder
|
|
496
|
+
|
|
497
|
+
def eq(self, value: str) -> UtteranceFilterBuilder:
|
|
498
|
+
super().eq(value)
|
|
499
|
+
return self._parent_builder
|
|
500
|
+
|
|
501
|
+
def ne(self, value: str) -> UtteranceFilterBuilder:
|
|
502
|
+
super().ne(value)
|
|
503
|
+
return self._parent_builder
|
|
504
|
+
|
|
505
|
+
def gt(self, value: str) -> UtteranceFilterBuilder:
|
|
506
|
+
super().gt(value)
|
|
507
|
+
return self._parent_builder
|
|
508
|
+
|
|
509
|
+
def lt(self, value: str) -> UtteranceFilterBuilder:
|
|
510
|
+
super().lt(value)
|
|
511
|
+
return self._parent_builder
|
|
512
|
+
|
|
513
|
+
def gte(self, value: str) -> UtteranceFilterBuilder:
|
|
514
|
+
super().gte(value)
|
|
515
|
+
return self._parent_builder
|
|
516
|
+
|
|
517
|
+
def lte(self, value: str) -> UtteranceFilterBuilder:
|
|
518
|
+
super().lte(value)
|
|
519
|
+
return self._parent_builder
|
|
520
|
+
|
|
521
|
+
def in_(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
522
|
+
super().in_(values)
|
|
523
|
+
return self._parent_builder
|
|
524
|
+
|
|
525
|
+
def nin(self, values: t.Sequence[str]) -> UtteranceFilterBuilder:
|
|
526
|
+
super().nin(values)
|
|
527
|
+
return self._parent_builder
|
|
528
|
+
|
|
529
|
+
def between(self, value1: str, value2: str) -> UtteranceFilterBuilder:
|
|
530
|
+
super().between(value1, value2)
|
|
531
|
+
return self._parent_builder
|
|
532
|
+
|
|
533
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
534
|
+
super().is_null()
|
|
535
|
+
return self._parent_builder
|
|
536
|
+
|
|
537
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
538
|
+
super().is_not_null()
|
|
539
|
+
return self._parent_builder
|
|
540
|
+
|
|
541
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
542
|
+
super().asc()
|
|
543
|
+
return self._parent_builder
|
|
544
|
+
|
|
545
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
546
|
+
super().desc()
|
|
547
|
+
return self._parent_builder
|
|
548
|
+
|
|
549
|
+
def contains(self, value: str) -> UtteranceFilterBuilder:
|
|
550
|
+
super().contains(value)
|
|
551
|
+
return self._parent_builder
|
|
552
|
+
|
|
553
|
+
def startswith(self, value: str) -> UtteranceFilterBuilder:
|
|
554
|
+
super().startswith(value)
|
|
555
|
+
return self._parent_builder
|
|
556
|
+
|
|
557
|
+
def endswith(self, value: str) -> UtteranceFilterBuilder:
|
|
558
|
+
super().endswith(value)
|
|
559
|
+
return self._parent_builder
|
|
560
|
+
|
|
561
|
+
class _ConfidenceField(FieldFilter[float | None]):
|
|
562
|
+
"""Chainable confidence filter with type-safe operations."""
|
|
563
|
+
|
|
564
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
565
|
+
super().__init__("confidence", object.__getattribute__(builder, "_filter"))
|
|
566
|
+
self._parent_builder = builder
|
|
567
|
+
|
|
568
|
+
def eq(self, value: float | None) -> UtteranceFilterBuilder:
|
|
569
|
+
super().eq(value)
|
|
570
|
+
return self._parent_builder
|
|
571
|
+
|
|
572
|
+
def ne(self, value: float | None) -> UtteranceFilterBuilder:
|
|
573
|
+
super().ne(value)
|
|
574
|
+
return self._parent_builder
|
|
575
|
+
|
|
576
|
+
def gt(self, value: float | None) -> UtteranceFilterBuilder:
|
|
577
|
+
super().gt(value)
|
|
578
|
+
return self._parent_builder
|
|
579
|
+
|
|
580
|
+
def lt(self, value: float | None) -> UtteranceFilterBuilder:
|
|
581
|
+
super().lt(value)
|
|
582
|
+
return self._parent_builder
|
|
583
|
+
|
|
584
|
+
def gte(self, value: float | None) -> UtteranceFilterBuilder:
|
|
585
|
+
super().gte(value)
|
|
586
|
+
return self._parent_builder
|
|
587
|
+
|
|
588
|
+
def lte(self, value: float | None) -> UtteranceFilterBuilder:
|
|
589
|
+
super().lte(value)
|
|
590
|
+
return self._parent_builder
|
|
591
|
+
|
|
592
|
+
def in_(self, values: t.Sequence[float | None]) -> UtteranceFilterBuilder:
|
|
593
|
+
super().in_(values)
|
|
594
|
+
return self._parent_builder
|
|
595
|
+
|
|
596
|
+
def nin(self, values: t.Sequence[float | None]) -> UtteranceFilterBuilder:
|
|
597
|
+
super().nin(values)
|
|
598
|
+
return self._parent_builder
|
|
599
|
+
|
|
600
|
+
def between(self, value1: float | None, value2: float | None) -> UtteranceFilterBuilder:
|
|
601
|
+
super().between(value1, value2)
|
|
602
|
+
return self._parent_builder
|
|
603
|
+
|
|
604
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
605
|
+
super().is_null()
|
|
606
|
+
return self._parent_builder
|
|
607
|
+
|
|
608
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
609
|
+
super().is_not_null()
|
|
610
|
+
return self._parent_builder
|
|
611
|
+
|
|
612
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
613
|
+
super().asc()
|
|
614
|
+
return self._parent_builder
|
|
615
|
+
|
|
616
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
617
|
+
super().desc()
|
|
618
|
+
return self._parent_builder
|
|
619
|
+
|
|
620
|
+
class _StartTimeMsField(FieldFilter[int]):
|
|
621
|
+
"""Chainable start_time_ms filter with type-safe operations."""
|
|
622
|
+
|
|
623
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
624
|
+
super().__init__("start_time_ms", object.__getattribute__(builder, "_filter"))
|
|
625
|
+
self._parent_builder = builder
|
|
626
|
+
|
|
627
|
+
def eq(self, value: int) -> UtteranceFilterBuilder:
|
|
628
|
+
super().eq(value)
|
|
629
|
+
return self._parent_builder
|
|
630
|
+
|
|
631
|
+
def ne(self, value: int) -> UtteranceFilterBuilder:
|
|
632
|
+
super().ne(value)
|
|
633
|
+
return self._parent_builder
|
|
634
|
+
|
|
635
|
+
def gt(self, value: int) -> UtteranceFilterBuilder:
|
|
636
|
+
super().gt(value)
|
|
637
|
+
return self._parent_builder
|
|
638
|
+
|
|
639
|
+
def lt(self, value: int) -> UtteranceFilterBuilder:
|
|
640
|
+
super().lt(value)
|
|
641
|
+
return self._parent_builder
|
|
642
|
+
|
|
643
|
+
def gte(self, value: int) -> UtteranceFilterBuilder:
|
|
644
|
+
super().gte(value)
|
|
645
|
+
return self._parent_builder
|
|
646
|
+
|
|
647
|
+
def lte(self, value: int) -> UtteranceFilterBuilder:
|
|
648
|
+
super().lte(value)
|
|
649
|
+
return self._parent_builder
|
|
650
|
+
|
|
651
|
+
def in_(self, values: t.Sequence[int]) -> UtteranceFilterBuilder:
|
|
652
|
+
super().in_(values)
|
|
653
|
+
return self._parent_builder
|
|
654
|
+
|
|
655
|
+
def nin(self, values: t.Sequence[int]) -> UtteranceFilterBuilder:
|
|
656
|
+
super().nin(values)
|
|
657
|
+
return self._parent_builder
|
|
658
|
+
|
|
659
|
+
def between(self, value1: int, value2: int) -> UtteranceFilterBuilder:
|
|
660
|
+
super().between(value1, value2)
|
|
661
|
+
return self._parent_builder
|
|
662
|
+
|
|
663
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
664
|
+
super().is_null()
|
|
665
|
+
return self._parent_builder
|
|
666
|
+
|
|
667
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
668
|
+
super().is_not_null()
|
|
669
|
+
return self._parent_builder
|
|
670
|
+
|
|
671
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
672
|
+
super().asc()
|
|
673
|
+
return self._parent_builder
|
|
674
|
+
|
|
675
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
676
|
+
super().desc()
|
|
677
|
+
return self._parent_builder
|
|
678
|
+
|
|
679
|
+
class _EndTimeMsField(FieldFilter[int]):
|
|
680
|
+
"""Chainable end_time_ms filter with type-safe operations."""
|
|
681
|
+
|
|
682
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
683
|
+
super().__init__("end_time_ms", object.__getattribute__(builder, "_filter"))
|
|
684
|
+
self._parent_builder = builder
|
|
685
|
+
|
|
686
|
+
def eq(self, value: int) -> UtteranceFilterBuilder:
|
|
687
|
+
super().eq(value)
|
|
688
|
+
return self._parent_builder
|
|
689
|
+
|
|
690
|
+
def ne(self, value: int) -> UtteranceFilterBuilder:
|
|
691
|
+
super().ne(value)
|
|
692
|
+
return self._parent_builder
|
|
693
|
+
|
|
694
|
+
def gt(self, value: int) -> UtteranceFilterBuilder:
|
|
695
|
+
super().gt(value)
|
|
696
|
+
return self._parent_builder
|
|
697
|
+
|
|
698
|
+
def lt(self, value: int) -> UtteranceFilterBuilder:
|
|
699
|
+
super().lt(value)
|
|
700
|
+
return self._parent_builder
|
|
701
|
+
|
|
702
|
+
def gte(self, value: int) -> UtteranceFilterBuilder:
|
|
703
|
+
super().gte(value)
|
|
704
|
+
return self._parent_builder
|
|
705
|
+
|
|
706
|
+
def lte(self, value: int) -> UtteranceFilterBuilder:
|
|
707
|
+
super().lte(value)
|
|
708
|
+
return self._parent_builder
|
|
709
|
+
|
|
710
|
+
def in_(self, values: t.Sequence[int]) -> UtteranceFilterBuilder:
|
|
711
|
+
super().in_(values)
|
|
712
|
+
return self._parent_builder
|
|
713
|
+
|
|
714
|
+
def nin(self, values: t.Sequence[int]) -> UtteranceFilterBuilder:
|
|
715
|
+
super().nin(values)
|
|
716
|
+
return self._parent_builder
|
|
717
|
+
|
|
718
|
+
def between(self, value1: int, value2: int) -> UtteranceFilterBuilder:
|
|
719
|
+
super().between(value1, value2)
|
|
720
|
+
return self._parent_builder
|
|
721
|
+
|
|
722
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
723
|
+
super().is_null()
|
|
724
|
+
return self._parent_builder
|
|
725
|
+
|
|
726
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
727
|
+
super().is_not_null()
|
|
728
|
+
return self._parent_builder
|
|
729
|
+
|
|
730
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
731
|
+
super().asc()
|
|
732
|
+
return self._parent_builder
|
|
733
|
+
|
|
734
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
735
|
+
super().desc()
|
|
736
|
+
return self._parent_builder
|
|
737
|
+
|
|
738
|
+
class _TimestampField(FieldFilter[datetime.datetime]):
|
|
739
|
+
"""Chainable timestamp filter with type-safe operations."""
|
|
740
|
+
|
|
741
|
+
def __init__(self, builder: UtteranceFilterBuilder) -> None:
|
|
742
|
+
super().__init__("timestamp", object.__getattribute__(builder, "_filter"))
|
|
743
|
+
self._parent_builder = builder
|
|
744
|
+
|
|
745
|
+
def eq(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
746
|
+
super().eq(value)
|
|
747
|
+
return self._parent_builder
|
|
748
|
+
|
|
749
|
+
def ne(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
750
|
+
super().ne(value)
|
|
751
|
+
return self._parent_builder
|
|
752
|
+
|
|
753
|
+
def gt(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
754
|
+
super().gt(value)
|
|
755
|
+
return self._parent_builder
|
|
756
|
+
|
|
757
|
+
def lt(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
758
|
+
super().lt(value)
|
|
759
|
+
return self._parent_builder
|
|
760
|
+
|
|
761
|
+
def gte(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
762
|
+
super().gte(value)
|
|
763
|
+
return self._parent_builder
|
|
764
|
+
|
|
765
|
+
def lte(self, value: datetime.datetime) -> UtteranceFilterBuilder:
|
|
766
|
+
super().lte(value)
|
|
767
|
+
return self._parent_builder
|
|
768
|
+
|
|
769
|
+
def in_(self, values: t.Sequence[datetime.datetime]) -> UtteranceFilterBuilder:
|
|
770
|
+
super().in_(values)
|
|
771
|
+
return self._parent_builder
|
|
772
|
+
|
|
773
|
+
def nin(self, values: t.Sequence[datetime.datetime]) -> UtteranceFilterBuilder:
|
|
774
|
+
super().nin(values)
|
|
775
|
+
return self._parent_builder
|
|
776
|
+
|
|
777
|
+
def between(
|
|
778
|
+
self, value1: datetime.datetime, value2: datetime.datetime
|
|
779
|
+
) -> UtteranceFilterBuilder:
|
|
780
|
+
super().between(value1, value2)
|
|
781
|
+
return self._parent_builder
|
|
782
|
+
|
|
783
|
+
def is_null(self) -> UtteranceFilterBuilder:
|
|
784
|
+
super().is_null()
|
|
785
|
+
return self._parent_builder
|
|
786
|
+
|
|
787
|
+
def is_not_null(self) -> UtteranceFilterBuilder:
|
|
788
|
+
super().is_not_null()
|
|
789
|
+
return self._parent_builder
|
|
790
|
+
|
|
791
|
+
def asc(self) -> UtteranceFilterBuilder:
|
|
792
|
+
super().asc()
|
|
793
|
+
return self._parent_builder
|
|
794
|
+
|
|
795
|
+
def desc(self) -> UtteranceFilterBuilder:
|
|
796
|
+
super().desc()
|
|
797
|
+
return self._parent_builder
|
|
798
|
+
|
|
799
|
+
def and_(self, *filters: Filter) -> Filter:
|
|
800
|
+
"""Combine with other filters using AND logic.
|
|
801
|
+
|
|
802
|
+
Args:
|
|
803
|
+
*filters: Other filters to combine with AND.
|
|
804
|
+
|
|
805
|
+
Returns:
|
|
806
|
+
Combined filter with AND logic.
|
|
807
|
+
|
|
808
|
+
Example:
|
|
809
|
+
```python
|
|
810
|
+
# username = 'john' AND email = 'john@ex.com'
|
|
811
|
+
filter = (
|
|
812
|
+
utterance_filter()
|
|
813
|
+
.username.eq("john")
|
|
814
|
+
.and_(utterance_filter().email.eq("john@ex.com"))
|
|
815
|
+
)
|
|
816
|
+
```
|
|
817
|
+
"""
|
|
818
|
+
return object.__getattribute__(self, "_filter").and_(*filters)
|
|
819
|
+
|
|
820
|
+
def or_(self, *filters: Filter) -> Filter:
|
|
821
|
+
"""Combine with other filters using OR logic.
|
|
822
|
+
|
|
823
|
+
Args:
|
|
824
|
+
*filters: Other filters to combine with OR.
|
|
825
|
+
|
|
826
|
+
Returns:
|
|
827
|
+
Combined filter with OR logic.
|
|
828
|
+
|
|
829
|
+
Example:
|
|
830
|
+
```python
|
|
831
|
+
# username = 'john' OR email = 'john@ex.com'
|
|
832
|
+
filter = (
|
|
833
|
+
utterance_filter()
|
|
834
|
+
.username.eq("john")
|
|
835
|
+
.or_(utterance_filter().email.eq("john@ex.com"))
|
|
836
|
+
)
|
|
837
|
+
```
|
|
838
|
+
"""
|
|
839
|
+
return object.__getattribute__(self, "_filter").or_(*filters)
|
|
840
|
+
|
|
841
|
+
def not_(self) -> Filter:
|
|
842
|
+
"""Negate the current filter.
|
|
843
|
+
|
|
844
|
+
Returns:
|
|
845
|
+
Negated filter.
|
|
846
|
+
|
|
847
|
+
Example:
|
|
848
|
+
```python
|
|
849
|
+
# NOT (username = 'john')
|
|
850
|
+
filter = utterance_filter().username.eq("john").not_()
|
|
851
|
+
```
|
|
852
|
+
"""
|
|
853
|
+
return object.__getattribute__(self, "_filter").not_()
|
|
854
|
+
|
|
855
|
+
# Field properties
|
|
856
|
+
|
|
857
|
+
@property
|
|
858
|
+
def id(self) -> _IdField:
|
|
859
|
+
"""Filter by id field."""
|
|
860
|
+
return self._IdField(self)
|
|
861
|
+
|
|
862
|
+
@property
|
|
863
|
+
def created_at(self) -> _CreatedAtField:
|
|
864
|
+
"""Filter by created_at field."""
|
|
865
|
+
return self._CreatedAtField(self)
|
|
866
|
+
|
|
867
|
+
@property
|
|
868
|
+
def updated_at(self) -> _UpdatedAtField:
|
|
869
|
+
"""Filter by updated_at field."""
|
|
870
|
+
return self._UpdatedAtField(self)
|
|
871
|
+
|
|
872
|
+
@property
|
|
873
|
+
def session_id(self) -> _SessionIdField:
|
|
874
|
+
"""Filter by session_id field."""
|
|
875
|
+
return self._SessionIdField(self)
|
|
876
|
+
|
|
877
|
+
@property
|
|
878
|
+
def segment_id(self) -> _SegmentIdField:
|
|
879
|
+
"""Filter by segment_id field."""
|
|
880
|
+
return self._SegmentIdField(self)
|
|
881
|
+
|
|
882
|
+
@property
|
|
883
|
+
def sequence(self) -> _SequenceField:
|
|
884
|
+
"""Filter by sequence field."""
|
|
885
|
+
return self._SequenceField(self)
|
|
886
|
+
|
|
887
|
+
@property
|
|
888
|
+
def speaker(self) -> _SpeakerField:
|
|
889
|
+
"""Filter by speaker field."""
|
|
890
|
+
return self._SpeakerField(self)
|
|
891
|
+
|
|
892
|
+
@property
|
|
893
|
+
def text(self) -> _TextField:
|
|
894
|
+
"""Filter by text field."""
|
|
895
|
+
return self._TextField(self)
|
|
896
|
+
|
|
897
|
+
@property
|
|
898
|
+
def confidence(self) -> _ConfidenceField:
|
|
899
|
+
"""Filter by confidence field."""
|
|
900
|
+
return self._ConfidenceField(self)
|
|
901
|
+
|
|
902
|
+
@property
|
|
903
|
+
def start_time_ms(self) -> _StartTimeMsField:
|
|
904
|
+
"""Filter by start_time_ms field."""
|
|
905
|
+
return self._StartTimeMsField(self)
|
|
906
|
+
|
|
907
|
+
@property
|
|
908
|
+
def end_time_ms(self) -> _EndTimeMsField:
|
|
909
|
+
"""Filter by end_time_ms field."""
|
|
910
|
+
return self._EndTimeMsField(self)
|
|
911
|
+
|
|
912
|
+
@property
|
|
913
|
+
def timestamp(self) -> _TimestampField:
|
|
914
|
+
"""Filter by timestamp field."""
|
|
915
|
+
return self._TimestampField(self)
|
|
916
|
+
|
|
917
|
+
|
|
918
|
+
def utterance_filter() -> UtteranceFilterBuilder:
|
|
919
|
+
"""Create a Utterance filter builder with full type safety.
|
|
920
|
+
|
|
921
|
+
Returns:
|
|
922
|
+
A UtteranceFilterBuilder instance with full IDE support and chainable fields.
|
|
923
|
+
|
|
924
|
+
Example:
|
|
925
|
+
```python
|
|
926
|
+
# AND conditions (chained)
|
|
927
|
+
filter = (
|
|
928
|
+
utterance_filter()
|
|
929
|
+
.field1.eq(value1)
|
|
930
|
+
.field2.contains(value2)
|
|
931
|
+
)
|
|
932
|
+
|
|
933
|
+
# OR conditions
|
|
934
|
+
filter = utterance_filter().field1.eq(
|
|
935
|
+
value1
|
|
936
|
+
) | utterance_filter().field2.eq(value2)
|
|
937
|
+
```
|
|
938
|
+
"""
|
|
939
|
+
return UtteranceFilterBuilder(Utterance)
|