@darabonba/python-generator 1.2.19 → 2.0.1
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.
- package/ChangeLog.md +0 -158
- package/lib/builtin.js +818 -0
- package/lib/generator.js +2708 -0
- package/lib/helper.js +422 -0
- package/package.json +6 -5
- package/tests/expected/alias/setup.py +79 -0
- package/tests/expected/alias/tea_python_tests/__init__.py +1 -0
- package/tests/expected/alias/tea_python_tests/client.py +35 -0
- package/tests/expected/annotation/tea_python_tests/__init__.py +1 -0
- package/tests/expected/annotation/tea_python_tests/client.py +93 -0
- package/tests/expected/annotation/tea_python_tests/models.py +37 -0
- package/tests/expected/api/tea_python_tests/__init__.py +1 -0
- package/tests/expected/api/tea_python_tests/client.py +106 -0
- package/tests/expected/builtin/tea_python_tests/client.py +685 -0
- package/tests/expected/comment/tea_python_tests/__init__.py +1 -0
- package/tests/expected/comment/tea_python_tests/client.py +288 -0
- package/tests/expected/comment/tea_python_tests/models.py +195 -0
- package/tests/expected/complex/tea_python_tests/__init__.py +1 -0
- package/tests/expected/complex/tea_python_tests/client.py +1169 -0
- package/tests/expected/complex/tea_python_tests/exceptions.py +39 -0
- package/tests/expected/complex/tea_python_tests/models.py +570 -0
- package/tests/expected/const/tea_python_tests/__init__.py +1 -0
- package/tests/expected/const/tea_python_tests/client.py +14 -0
- package/{src/langs/python/files/setup.py.tmpl → tests/expected/empty/setup.py} +11 -11
- package/tests/expected/empty/tea_python_tests/__init__.py +1 -0
- package/tests/expected/empty/tea_python_tests/client.py +10 -0
- package/tests/expected/exec/tea_python_tests/__init__.py +1 -0
- package/tests/expected/exec/tea_python_tests/exec_client.py +21 -0
- package/tests/expected/function/tea_python_tests/__init__.py +1 -0
- package/tests/expected/function/tea_python_tests/client.py +64 -0
- package/tests/expected/import/setup.py +78 -0
- package/tests/expected/import/tea_python_tests/__init__.py +1 -0
- package/tests/expected/import/tea_python_tests/client.py +29 -0
- package/tests/expected/map/tea_python_tests/__init__.py +1 -0
- package/tests/expected/map/tea_python_tests/client.py +39 -0
- package/tests/expected/model/tea_python_tests/__init__.py +1 -0
- package/tests/expected/model/tea_python_tests/client.py +10 -0
- package/tests/expected/model/tea_python_tests/exceptions.py +28 -0
- package/tests/expected/model/tea_python_tests/models.py +780 -0
- package/tests/expected/multi/tea_python_tests/api.py +95 -0
- package/tests/expected/multi/tea_python_tests/client.py +40 -0
- package/tests/expected/multi/tea_python_tests/lib/util.py +19 -0
- package/tests/expected/multi/tea_python_tests/model/user.py +26 -0
- package/tests/expected/multi/tea_python_tests/model/user_exceptions.py +83 -0
- package/tests/expected/multi/tea_python_tests/model/user_models.py +145 -0
- package/tests/expected/statements/tea_python_tests/__init__.py +1 -0
- package/tests/expected/statements/tea_python_tests/client.py +86 -0
- package/tests/expected/super/tea_python_tests/__init__.py +1 -0
- package/tests/expected/super/tea_python_tests/client.py +16 -0
- package/tests/expected/typedef/setup.py +77 -0
- package/tests/expected/typedef/tea_python_tests/__init__.py +1 -0
- package/tests/expected/typedef/tea_python_tests/client.py +74 -0
- package/tests/expected/typedef/tea_python_tests/models.py +42 -0
- package/tests/fixtures/alias/Darafile +11 -0
- package/tests/fixtures/alias/libraries/Alias/Darafile +11 -0
- package/tests/fixtures/alias/libraries/Alias-Symbol/Darafile +11 -0
- package/tests/fixtures/builtin/Darafile +6 -0
- package/tests/fixtures/builtin/main.dara +333 -0
- package/tests/fixtures/complex/libraries/import.dara +18 -11
- package/tests/fixtures/complex/main.dara +452 -103
- package/tests/fixtures/import/libraries/Darafile +1 -1
- package/tests/fixtures/import/pack/Darafile +3 -0
- package/tests/fixtures/map/libraries/Darafile +3 -0
- package/tests/fixtures/map/libraries/import.dara +4 -0
- package/tests/fixtures/map/main.dara +17 -2
- package/tests/fixtures/model/.libraries.json +3 -0
- package/tests/fixtures/model/Darafile +5 -2
- package/tests/fixtures/model/libraries/Darafile +20 -0
- package/tests/fixtures/model/libraries/import.dara +27 -0
- package/tests/fixtures/model/main.dara +60 -42
- package/tests/fixtures/multi/.libraries.json +3 -0
- package/tests/fixtures/multi/Darafile +12 -0
- package/tests/fixtures/multi/api.dara +20 -0
- package/tests/fixtures/multi/lib/util.dara +5 -0
- package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/Teafile +68 -0
- package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/main.tea +244 -0
- package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/util.tea +2 -0
- package/tests/fixtures/multi/main.dara +32 -0
- package/tests/fixtures/multi/model/user.dara +35 -0
- package/tests/{python3.tests.js → main.tests.js} +107 -65
- package/tests/output/alias/setup.py +79 -0
- package/tests/output/alias/tea_python_tests/client.py +35 -0
- package/{src/langs/python2/files/setup.py.tmpl → tests/output/annotation/setup.py} +19 -24
- package/tests/output/annotation/tea_python_tests/client.py +93 -0
- package/tests/output/annotation/tea_python_tests/models.py +37 -0
- package/tests/output/api/setup.py +77 -0
- package/tests/output/api/tea_python_tests/client.py +106 -0
- package/tests/output/builtin/setup.py +77 -0
- package/tests/output/builtin/tea_python_tests/client.py +685 -0
- package/tests/output/comment/setup.py +77 -0
- package/tests/output/comment/tea_python_tests/client.py +288 -0
- package/tests/output/comment/tea_python_tests/models.py +195 -0
- package/tests/output/complex/setup.py +77 -0
- package/tests/output/complex/tea_python_tests/client.py +1169 -0
- package/tests/output/complex/tea_python_tests/exceptions.py +39 -0
- package/tests/output/complex/tea_python_tests/models.py +570 -0
- package/tests/output/const/setup.py +77 -0
- package/tests/output/const/tea_python_tests/client.py +14 -0
- package/tests/output/empty/setup.py +77 -0
- package/tests/output/empty/tea_python_tests/client.py +10 -0
- package/tests/output/exec/setup.py +77 -0
- package/tests/output/exec/tea_python_tests/exec_client.py +21 -0
- package/tests/output/function/setup.py +77 -0
- package/tests/output/function/tea_python_tests/client.py +64 -0
- package/tests/output/import/setup.py +78 -0
- package/tests/output/import/tea_python_tests/client.py +29 -0
- package/tests/output/map/setup.py +77 -0
- package/tests/output/map/tea_python_tests/client.py +39 -0
- package/tests/output/model/setup.py +77 -0
- package/tests/output/model/tea_python_tests/client.py +10 -0
- package/tests/output/model/tea_python_tests/exceptions.py +28 -0
- package/tests/output/model/tea_python_tests/models.py +780 -0
- package/tests/output/multi/setup.py +77 -0
- package/tests/output/multi/tea_python_tests/api.py +95 -0
- package/tests/output/multi/tea_python_tests/client.py +40 -0
- package/tests/output/multi/tea_python_tests/lib/util.py +19 -0
- package/tests/output/multi/tea_python_tests/model/user.py +26 -0
- package/tests/output/multi/tea_python_tests/model/user_exceptions.py +83 -0
- package/tests/output/multi/tea_python_tests/model/user_models.py +145 -0
- package/tests/output/statements/setup.py +77 -0
- package/tests/output/statements/tea_python_tests/client.py +86 -0
- package/tests/output/super/setup.py +77 -0
- package/tests/output/super/tea_python_tests/client.py +16 -0
- package/tests/output/typedef/setup.py +78 -0
- package/tests/output/typedef/tea_python_tests/client.py +74 -0
- package/tests/output/typedef/tea_python_tests/models.py +42 -0
- package/src/generator.js +0 -231
- package/src/langs/common/combinator.js +0 -193
- package/src/langs/common/config.js +0 -60
- package/src/langs/common/enum.js +0 -179
- package/src/langs/common/items.js +0 -551
- package/src/langs/common/package_info.js +0 -53
- package/src/langs/python/combinator.js +0 -1898
- package/src/langs/python/config.js +0 -169
- package/src/langs/python/files/.gitignore.tmpl +0 -5
- package/src/langs/python/files/__init__.py.tmpl +0 -1
- package/src/langs/python/package_info.js +0 -78
- package/src/langs/python2/combinator.js +0 -1770
- package/src/langs/python2/config.js +0 -162
- package/src/langs/python2/files/.gitignore.tmpl +0 -5
- package/src/langs/python2/files/__init__.py.tmpl +0 -1
- package/src/langs/python2/package_info.js +0 -78
- package/src/lib/debug.js +0 -55
- package/src/lib/emitter.js +0 -95
- package/src/lib/helper.js +0 -207
- package/src/resolver/base.js +0 -282
- package/src/resolver/client.js +0 -1013
- package/src/resolver/model.js +0 -159
- package/tests/common.tests.js +0 -244
- package/tests/lib.tests.js +0 -269
- package/tests/python2.tests.js +0 -283
- package/tests/resolver.tests.js +0 -434
|
@@ -0,0 +1,780 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# This file is auto-generated, don't edit it. Thanks.
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from darabonba.model import DaraModel
|
|
5
|
+
from tea_python_tests import models as main_models
|
|
6
|
+
from Source.client import Client as SourceClient
|
|
7
|
+
from Source import models as source_models
|
|
8
|
+
from darabonba.request import DaraRequest
|
|
9
|
+
from typing import List, Dict, Any, BinaryIO
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class MSubM(DaraModel):
|
|
15
|
+
def __init__(self):
|
|
16
|
+
pass
|
|
17
|
+
def validate(self):
|
|
18
|
+
pass
|
|
19
|
+
|
|
20
|
+
def to_map(self):
|
|
21
|
+
_map = super().to_map()
|
|
22
|
+
if _map is not None:
|
|
23
|
+
return _map
|
|
24
|
+
|
|
25
|
+
result = dict()
|
|
26
|
+
return result
|
|
27
|
+
|
|
28
|
+
def from_map(self, m: dict = None):
|
|
29
|
+
m = m or dict()
|
|
30
|
+
return self
|
|
31
|
+
|
|
32
|
+
class MainFileModelModel(DaraModel):
|
|
33
|
+
def __init__(
|
|
34
|
+
self,
|
|
35
|
+
str: str = None,
|
|
36
|
+
):
|
|
37
|
+
self.str = str
|
|
38
|
+
|
|
39
|
+
def validate(self):
|
|
40
|
+
self.validate_required(self.str, 'str')
|
|
41
|
+
|
|
42
|
+
def to_map(self):
|
|
43
|
+
_map = super().to_map()
|
|
44
|
+
if _map is not None:
|
|
45
|
+
return _map
|
|
46
|
+
|
|
47
|
+
result = dict()
|
|
48
|
+
if self.str is not None:
|
|
49
|
+
result['str'] = self.str
|
|
50
|
+
return result
|
|
51
|
+
|
|
52
|
+
def from_map(self, m: dict = None):
|
|
53
|
+
m = m or dict()
|
|
54
|
+
if m.get('str') is not None:
|
|
55
|
+
self.str = m.get('str')
|
|
56
|
+
return self
|
|
57
|
+
|
|
58
|
+
class MainFileModel(DaraModel):
|
|
59
|
+
def __init__(
|
|
60
|
+
self,
|
|
61
|
+
str: str = None,
|
|
62
|
+
model: MainFileModelModel = None,
|
|
63
|
+
):
|
|
64
|
+
self.str = str
|
|
65
|
+
self.model = model
|
|
66
|
+
|
|
67
|
+
def validate(self):
|
|
68
|
+
self.validate_required(self.str, 'str')
|
|
69
|
+
self.validate_required(self.model, 'model')
|
|
70
|
+
if self.model:
|
|
71
|
+
self.model.validate()
|
|
72
|
+
|
|
73
|
+
def to_map(self):
|
|
74
|
+
_map = super().to_map()
|
|
75
|
+
if _map is not None:
|
|
76
|
+
return _map
|
|
77
|
+
|
|
78
|
+
result = dict()
|
|
79
|
+
if self.str is not None:
|
|
80
|
+
result['str'] = self.str
|
|
81
|
+
if self.model is not None:
|
|
82
|
+
result['model'] = self.model.to_map()
|
|
83
|
+
|
|
84
|
+
return result
|
|
85
|
+
|
|
86
|
+
def from_map(self, m: dict = None):
|
|
87
|
+
m = m or dict()
|
|
88
|
+
if m.get('str') is not None:
|
|
89
|
+
self.str = m.get('str')
|
|
90
|
+
if m.get('model') is not None:
|
|
91
|
+
temp_model = MainFileModelModel
|
|
92
|
+
self.model = temp_model.from_map(m.get('model'))
|
|
93
|
+
|
|
94
|
+
return self
|
|
95
|
+
|
|
96
|
+
class MyModelModelModel(DaraModel):
|
|
97
|
+
def __init__(
|
|
98
|
+
self,
|
|
99
|
+
str: str = None,
|
|
100
|
+
):
|
|
101
|
+
self.str = str
|
|
102
|
+
|
|
103
|
+
def validate(self):
|
|
104
|
+
self.validate_required(self.str, 'str')
|
|
105
|
+
|
|
106
|
+
def to_map(self):
|
|
107
|
+
_map = super().to_map()
|
|
108
|
+
if _map is not None:
|
|
109
|
+
return _map
|
|
110
|
+
|
|
111
|
+
result = dict()
|
|
112
|
+
if self.str is not None:
|
|
113
|
+
result['str'] = self.str
|
|
114
|
+
return result
|
|
115
|
+
|
|
116
|
+
def from_map(self, m: dict = None):
|
|
117
|
+
m = m or dict()
|
|
118
|
+
if m.get('str') is not None:
|
|
119
|
+
self.str = m.get('str')
|
|
120
|
+
return self
|
|
121
|
+
|
|
122
|
+
class MyModelModel(DaraModel):
|
|
123
|
+
def __init__(
|
|
124
|
+
self,
|
|
125
|
+
str: str = None,
|
|
126
|
+
model: MyModelModelModel = None,
|
|
127
|
+
):
|
|
128
|
+
self.str = str
|
|
129
|
+
self.model = model
|
|
130
|
+
|
|
131
|
+
def validate(self):
|
|
132
|
+
self.validate_required(self.str, 'str')
|
|
133
|
+
self.validate_required(self.model, 'model')
|
|
134
|
+
if self.model:
|
|
135
|
+
self.model.validate()
|
|
136
|
+
|
|
137
|
+
def to_map(self):
|
|
138
|
+
_map = super().to_map()
|
|
139
|
+
if _map is not None:
|
|
140
|
+
return _map
|
|
141
|
+
|
|
142
|
+
result = dict()
|
|
143
|
+
if self.str is not None:
|
|
144
|
+
result['str'] = self.str
|
|
145
|
+
if self.model is not None:
|
|
146
|
+
result['model'] = self.model.to_map()
|
|
147
|
+
|
|
148
|
+
return result
|
|
149
|
+
|
|
150
|
+
def from_map(self, m: dict = None):
|
|
151
|
+
m = m or dict()
|
|
152
|
+
if m.get('str') is not None:
|
|
153
|
+
self.str = m.get('str')
|
|
154
|
+
if m.get('model') is not None:
|
|
155
|
+
temp_model = MyModelModelModel
|
|
156
|
+
self.model = temp_model.from_map(m.get('model'))
|
|
157
|
+
|
|
158
|
+
return self
|
|
159
|
+
|
|
160
|
+
class MyModelSubmodelModel(DaraModel):
|
|
161
|
+
def __init__(
|
|
162
|
+
self,
|
|
163
|
+
str: str = None,
|
|
164
|
+
):
|
|
165
|
+
self.str = str
|
|
166
|
+
|
|
167
|
+
def validate(self):
|
|
168
|
+
self.validate_required(self.str, 'str')
|
|
169
|
+
|
|
170
|
+
def to_map(self):
|
|
171
|
+
_map = super().to_map()
|
|
172
|
+
if _map is not None:
|
|
173
|
+
return _map
|
|
174
|
+
|
|
175
|
+
result = dict()
|
|
176
|
+
if self.str is not None:
|
|
177
|
+
result['str'] = self.str
|
|
178
|
+
return result
|
|
179
|
+
|
|
180
|
+
def from_map(self, m: dict = None):
|
|
181
|
+
m = m or dict()
|
|
182
|
+
if m.get('str') is not None:
|
|
183
|
+
self.str = m.get('str')
|
|
184
|
+
return self
|
|
185
|
+
|
|
186
|
+
class MyModelSubmodel(DaraModel):
|
|
187
|
+
def __init__(
|
|
188
|
+
self,
|
|
189
|
+
stringfield: str = None,
|
|
190
|
+
model: MyModelSubmodelModel = None,
|
|
191
|
+
):
|
|
192
|
+
self.stringfield = stringfield
|
|
193
|
+
self.model = model
|
|
194
|
+
|
|
195
|
+
def validate(self):
|
|
196
|
+
self.validate_required(self.stringfield, 'stringfield')
|
|
197
|
+
self.validate_required(self.model, 'model')
|
|
198
|
+
if self.model:
|
|
199
|
+
self.model.validate()
|
|
200
|
+
|
|
201
|
+
def to_map(self):
|
|
202
|
+
_map = super().to_map()
|
|
203
|
+
if _map is not None:
|
|
204
|
+
return _map
|
|
205
|
+
|
|
206
|
+
result = dict()
|
|
207
|
+
if self.stringfield is not None:
|
|
208
|
+
result['stringfield'] = self.stringfield
|
|
209
|
+
if self.model is not None:
|
|
210
|
+
result['model'] = self.model.to_map()
|
|
211
|
+
|
|
212
|
+
return result
|
|
213
|
+
|
|
214
|
+
def from_map(self, m: dict = None):
|
|
215
|
+
m = m or dict()
|
|
216
|
+
if m.get('stringfield') is not None:
|
|
217
|
+
self.stringfield = m.get('stringfield')
|
|
218
|
+
if m.get('model') is not None:
|
|
219
|
+
temp_model = MyModelSubmodelModel
|
|
220
|
+
self.model = temp_model.from_map(m.get('model'))
|
|
221
|
+
|
|
222
|
+
return self
|
|
223
|
+
|
|
224
|
+
class MyModelSubarraymodel(DaraModel):
|
|
225
|
+
def __init__(self):
|
|
226
|
+
pass
|
|
227
|
+
def validate(self):
|
|
228
|
+
pass
|
|
229
|
+
|
|
230
|
+
def to_map(self):
|
|
231
|
+
_map = super().to_map()
|
|
232
|
+
if _map is not None:
|
|
233
|
+
return _map
|
|
234
|
+
|
|
235
|
+
result = dict()
|
|
236
|
+
return result
|
|
237
|
+
|
|
238
|
+
def from_map(self, m: dict = None):
|
|
239
|
+
m = m or dict()
|
|
240
|
+
return self
|
|
241
|
+
|
|
242
|
+
class M(DaraModel):
|
|
243
|
+
def __init__(
|
|
244
|
+
self,
|
|
245
|
+
sub_m: MSubM = None,
|
|
246
|
+
):
|
|
247
|
+
self.sub_m = sub_m
|
|
248
|
+
|
|
249
|
+
def validate(self):
|
|
250
|
+
self.validate_required(self.sub_m, 'sub_m')
|
|
251
|
+
if self.sub_m:
|
|
252
|
+
self.sub_m.validate()
|
|
253
|
+
|
|
254
|
+
def to_map(self):
|
|
255
|
+
_map = super().to_map()
|
|
256
|
+
if _map is not None:
|
|
257
|
+
return _map
|
|
258
|
+
|
|
259
|
+
result = dict()
|
|
260
|
+
if self.sub_m is not None:
|
|
261
|
+
result['subM'] = self.sub_m.to_map()
|
|
262
|
+
|
|
263
|
+
return result
|
|
264
|
+
|
|
265
|
+
def from_map(self, m: dict = None):
|
|
266
|
+
m = m or dict()
|
|
267
|
+
if m.get('subM') is not None:
|
|
268
|
+
temp_model = MSub_m
|
|
269
|
+
self.sub_m = temp_model.from_map(m.get('subM'))
|
|
270
|
+
|
|
271
|
+
return self
|
|
272
|
+
|
|
273
|
+
class Class(DaraModel):
|
|
274
|
+
def __init__(self):
|
|
275
|
+
pass
|
|
276
|
+
def validate(self):
|
|
277
|
+
pass
|
|
278
|
+
|
|
279
|
+
def to_map(self):
|
|
280
|
+
_map = super().to_map()
|
|
281
|
+
if _map is not None:
|
|
282
|
+
return _map
|
|
283
|
+
|
|
284
|
+
result = dict()
|
|
285
|
+
return result
|
|
286
|
+
|
|
287
|
+
def from_map(self, m: dict = None):
|
|
288
|
+
m = m or dict()
|
|
289
|
+
return self
|
|
290
|
+
|
|
291
|
+
class Model(DaraModel):
|
|
292
|
+
def __init__(
|
|
293
|
+
self,
|
|
294
|
+
str: str = None,
|
|
295
|
+
):
|
|
296
|
+
self.str = str
|
|
297
|
+
|
|
298
|
+
def validate(self):
|
|
299
|
+
self.validate_required(self.str, 'str')
|
|
300
|
+
|
|
301
|
+
def to_map(self):
|
|
302
|
+
_map = super().to_map()
|
|
303
|
+
if _map is not None:
|
|
304
|
+
return _map
|
|
305
|
+
|
|
306
|
+
result = dict()
|
|
307
|
+
if self.str is not None:
|
|
308
|
+
result['str'] = self.str
|
|
309
|
+
return result
|
|
310
|
+
|
|
311
|
+
def from_map(self, m: dict = None):
|
|
312
|
+
m = m or dict()
|
|
313
|
+
if m.get('str') is not None:
|
|
314
|
+
self.str = m.get('str')
|
|
315
|
+
return self
|
|
316
|
+
|
|
317
|
+
class MyModel(DaraModel):
|
|
318
|
+
def __init__(
|
|
319
|
+
self,
|
|
320
|
+
model: MyModelModel = None,
|
|
321
|
+
stringfield: str = None,
|
|
322
|
+
bytesfield: bytes = None,
|
|
323
|
+
stringarrayfield: List[str] = None,
|
|
324
|
+
mapfield: Dict[str, str] = None,
|
|
325
|
+
name: str = None,
|
|
326
|
+
submodel: MyModelSubmodel = None,
|
|
327
|
+
submodel_map: Dict[str, main_models.MyModelSubmodel] = None,
|
|
328
|
+
map_model: Dict[str, main_models.M] = None,
|
|
329
|
+
subarraymodel: List[MyModelSubarraymodel] = None,
|
|
330
|
+
subarray: List[main_models.M] = None,
|
|
331
|
+
ssubarray: List[List[main_models.M]] = None,
|
|
332
|
+
ssubmarray: List[List[SourceClient]] = None,
|
|
333
|
+
ssubmmarray: List[List[source_models.Request]] = None,
|
|
334
|
+
maparray: List[Dict[str, Any]] = None,
|
|
335
|
+
mapsubmarray: List[Dict[str, SourceClient]] = None,
|
|
336
|
+
module_model_map: Dict[str, source_models.Request] = None,
|
|
337
|
+
sub_model_map: Dict[str, main_models.MSubM] = None,
|
|
338
|
+
model_map: Dict[str, main_models.M] = None,
|
|
339
|
+
module_map: Dict[str, SourceClient] = None,
|
|
340
|
+
object: dict = None,
|
|
341
|
+
readable: BinaryIO = None,
|
|
342
|
+
writable: BinaryIO = None,
|
|
343
|
+
exist_model: main_models.M = None,
|
|
344
|
+
request: DaraRequest = None,
|
|
345
|
+
complex_list: List[List[str]] = None,
|
|
346
|
+
numberfield: int = None,
|
|
347
|
+
integer_field: int = None,
|
|
348
|
+
float_field: float = None,
|
|
349
|
+
double_field: float = None,
|
|
350
|
+
long_field: int = None,
|
|
351
|
+
ulong_field: int = None,
|
|
352
|
+
int_8field: int = None,
|
|
353
|
+
int_16field: int = None,
|
|
354
|
+
int_32field: int = None,
|
|
355
|
+
int_64field: int = None,
|
|
356
|
+
uint_8field: int = None,
|
|
357
|
+
uint_16field: int = None,
|
|
358
|
+
uint_32field: int = None,
|
|
359
|
+
uint_64field: int = None,
|
|
360
|
+
link: str = None,
|
|
361
|
+
):
|
|
362
|
+
self.model = model
|
|
363
|
+
self.stringfield = stringfield
|
|
364
|
+
self.bytesfield = bytesfield
|
|
365
|
+
self.stringarrayfield = stringarrayfield
|
|
366
|
+
self.mapfield = mapfield
|
|
367
|
+
self.name = name
|
|
368
|
+
self.submodel = submodel
|
|
369
|
+
self.submodel_map = submodel_map
|
|
370
|
+
self.map_model = map_model
|
|
371
|
+
self.subarraymodel = subarraymodel
|
|
372
|
+
self.subarray = subarray
|
|
373
|
+
self.ssubarray = ssubarray
|
|
374
|
+
self.ssubmarray = ssubmarray
|
|
375
|
+
self.ssubmmarray = ssubmmarray
|
|
376
|
+
self.maparray = maparray
|
|
377
|
+
self.mapsubmarray = mapsubmarray
|
|
378
|
+
self.module_model_map = module_model_map
|
|
379
|
+
self.sub_model_map = sub_model_map
|
|
380
|
+
self.model_map = model_map
|
|
381
|
+
self.module_map = module_map
|
|
382
|
+
self.object = object
|
|
383
|
+
self.readable = readable
|
|
384
|
+
self.writable = writable
|
|
385
|
+
self.exist_model = exist_model
|
|
386
|
+
self.request = request
|
|
387
|
+
self.complex_list = complex_list
|
|
388
|
+
self.numberfield = numberfield
|
|
389
|
+
self.integer_field = integer_field
|
|
390
|
+
self.float_field = float_field
|
|
391
|
+
self.double_field = double_field
|
|
392
|
+
self.long_field = long_field
|
|
393
|
+
self.ulong_field = ulong_field
|
|
394
|
+
self.int_8field = int_8field
|
|
395
|
+
self.int_16field = int_16field
|
|
396
|
+
self.int_32field = int_32field
|
|
397
|
+
self.int_64field = int_64field
|
|
398
|
+
self.uint_8field = uint_8field
|
|
399
|
+
self.uint_16field = uint_16field
|
|
400
|
+
self.uint_32field = uint_32field
|
|
401
|
+
self.uint_64field = uint_64field
|
|
402
|
+
self.link = link
|
|
403
|
+
|
|
404
|
+
def validate(self):
|
|
405
|
+
self.validate_required(self.model, 'model')
|
|
406
|
+
if self.model:
|
|
407
|
+
self.model.validate()
|
|
408
|
+
self.validate_required(self.stringfield, 'stringfield')
|
|
409
|
+
self.validate_required(self.bytesfield, 'bytesfield')
|
|
410
|
+
self.validate_required(self.stringarrayfield, 'stringarrayfield')
|
|
411
|
+
self.validate_required(self.mapfield, 'mapfield')
|
|
412
|
+
self.validate_required(self.name, 'name')
|
|
413
|
+
self.validate_required(self.submodel, 'submodel')
|
|
414
|
+
if self.submodel:
|
|
415
|
+
self.submodel.validate()
|
|
416
|
+
self.validate_required(self.submodel_map, 'submodel_map')
|
|
417
|
+
if self.submodel_map:
|
|
418
|
+
for v in self.submodel_map.values():
|
|
419
|
+
if v:
|
|
420
|
+
v.validate()
|
|
421
|
+
self.validate_required(self.map_model, 'map_model')
|
|
422
|
+
if self.map_model:
|
|
423
|
+
for v in self.map_model.values():
|
|
424
|
+
if v:
|
|
425
|
+
v.validate()
|
|
426
|
+
self.validate_required(self.subarraymodel, 'subarraymodel')
|
|
427
|
+
if self.subarraymodel:
|
|
428
|
+
for k in self.subarraymodel:
|
|
429
|
+
if k:
|
|
430
|
+
k.validate()
|
|
431
|
+
self.validate_required(self.subarray, 'subarray')
|
|
432
|
+
if self.subarray:
|
|
433
|
+
for k in self.subarray:
|
|
434
|
+
if k:
|
|
435
|
+
k.validate()
|
|
436
|
+
self.validate_required(self.ssubarray, 'ssubarray')
|
|
437
|
+
if self.ssubarray:
|
|
438
|
+
for k in self.ssubarray:
|
|
439
|
+
for k1 in k:
|
|
440
|
+
if k1:
|
|
441
|
+
k1.validate()
|
|
442
|
+
self.validate_required(self.ssubmarray, 'ssubmarray')
|
|
443
|
+
if self.ssubmarray:
|
|
444
|
+
for k in self.ssubmarray:
|
|
445
|
+
for k1 in k:
|
|
446
|
+
if k1:
|
|
447
|
+
k1.validate()
|
|
448
|
+
self.validate_required(self.ssubmmarray, 'ssubmmarray')
|
|
449
|
+
if self.ssubmmarray:
|
|
450
|
+
for k in self.ssubmmarray:
|
|
451
|
+
for k1 in k:
|
|
452
|
+
if k1:
|
|
453
|
+
k1.validate()
|
|
454
|
+
self.validate_required(self.maparray, 'maparray')
|
|
455
|
+
self.validate_required(self.mapsubmarray, 'mapsubmarray')
|
|
456
|
+
self.validate_required(self.module_model_map, 'module_model_map')
|
|
457
|
+
if self.module_model_map:
|
|
458
|
+
for v in self.module_model_map.values():
|
|
459
|
+
if v:
|
|
460
|
+
v.validate()
|
|
461
|
+
self.validate_required(self.sub_model_map, 'sub_model_map')
|
|
462
|
+
if self.sub_model_map:
|
|
463
|
+
for v in self.sub_model_map.values():
|
|
464
|
+
if v:
|
|
465
|
+
v.validate()
|
|
466
|
+
self.validate_required(self.model_map, 'model_map')
|
|
467
|
+
if self.model_map:
|
|
468
|
+
for v in self.model_map.values():
|
|
469
|
+
if v:
|
|
470
|
+
v.validate()
|
|
471
|
+
self.validate_required(self.module_map, 'module_map')
|
|
472
|
+
if self.module_map:
|
|
473
|
+
for v in self.module_map.values():
|
|
474
|
+
if v:
|
|
475
|
+
v.validate()
|
|
476
|
+
self.validate_required(self.object, 'object')
|
|
477
|
+
self.validate_required(self.readable, 'readable')
|
|
478
|
+
self.validate_required(self.writable, 'writable')
|
|
479
|
+
self.validate_required(self.exist_model, 'exist_model')
|
|
480
|
+
if self.exist_model:
|
|
481
|
+
self.exist_model.validate()
|
|
482
|
+
self.validate_required(self.request, 'request')
|
|
483
|
+
self.validate_required(self.complex_list, 'complex_list')
|
|
484
|
+
self.validate_required(self.numberfield, 'numberfield')
|
|
485
|
+
self.validate_required(self.integer_field, 'integer_field')
|
|
486
|
+
self.validate_required(self.float_field, 'float_field')
|
|
487
|
+
self.validate_required(self.double_field, 'double_field')
|
|
488
|
+
self.validate_required(self.long_field, 'long_field')
|
|
489
|
+
self.validate_required(self.ulong_field, 'ulong_field')
|
|
490
|
+
self.validate_required(self.int_8field, 'int_8field')
|
|
491
|
+
self.validate_required(self.int_16field, 'int_16field')
|
|
492
|
+
self.validate_required(self.int_32field, 'int_32field')
|
|
493
|
+
self.validate_required(self.int_64field, 'int_64field')
|
|
494
|
+
self.validate_required(self.uint_8field, 'uint_8field')
|
|
495
|
+
self.validate_required(self.uint_16field, 'uint_16field')
|
|
496
|
+
self.validate_required(self.uint_32field, 'uint_32field')
|
|
497
|
+
self.validate_required(self.uint_64field, 'uint_64field')
|
|
498
|
+
|
|
499
|
+
def to_map(self):
|
|
500
|
+
_map = super().to_map()
|
|
501
|
+
if _map is not None:
|
|
502
|
+
return _map
|
|
503
|
+
|
|
504
|
+
result = dict()
|
|
505
|
+
if self.model is not None:
|
|
506
|
+
result['model'] = self.model.to_map()
|
|
507
|
+
|
|
508
|
+
if self.stringfield is not None:
|
|
509
|
+
result['stringfield'] = self.stringfield
|
|
510
|
+
if self.bytesfield is not None:
|
|
511
|
+
result['bytesfield'] = self.bytesfield
|
|
512
|
+
if self.stringarrayfield is not None:
|
|
513
|
+
result['stringarrayfield'] = self.stringarrayfield
|
|
514
|
+
if self.mapfield is not None:
|
|
515
|
+
result['mapfield'] = self.mapfield
|
|
516
|
+
if self.name is not None:
|
|
517
|
+
result['realName'] = self.name
|
|
518
|
+
if self.submodel is not None:
|
|
519
|
+
result['submodel'] = self.submodel.to_map()
|
|
520
|
+
|
|
521
|
+
if self.submodel_map is not None:
|
|
522
|
+
result['submodelMap'] = {}
|
|
523
|
+
for k1, v1 in k.items():
|
|
524
|
+
result['submodelMap'][k1] = v1.to_map() if v1 else None
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
if self.map_model is not None:
|
|
528
|
+
result['mapModel'] = {}
|
|
529
|
+
for k1, v1 in k.items():
|
|
530
|
+
result['mapModel'][k1] = v1.to_map() if v1 else None
|
|
531
|
+
|
|
532
|
+
|
|
533
|
+
if self.subarraymodel is not None:
|
|
534
|
+
l1 = 0
|
|
535
|
+
result['subarraymodel'] = []
|
|
536
|
+
for k1 in self.subarraymodel:
|
|
537
|
+
l1 += 1
|
|
538
|
+
result['subarraymodel'][l1] = k1.to_map() if k1 else None
|
|
539
|
+
|
|
540
|
+
|
|
541
|
+
if self.subarray is not None:
|
|
542
|
+
l1 = 0
|
|
543
|
+
result['subarray'] = []
|
|
544
|
+
for k1 in self.subarray:
|
|
545
|
+
l1 += 1
|
|
546
|
+
result['subarray'][l1] = k1.to_map() if k1 else None
|
|
547
|
+
|
|
548
|
+
|
|
549
|
+
if self.ssubarray is not None:
|
|
550
|
+
l1 = 0
|
|
551
|
+
result['ssubarray'] = []
|
|
552
|
+
for k1 in self.ssubarray:
|
|
553
|
+
l1 += 1
|
|
554
|
+
l2 = 0
|
|
555
|
+
result['ssubarray'][l1] = []
|
|
556
|
+
for k2 in k1:
|
|
557
|
+
l2 += 1
|
|
558
|
+
result['ssubarray'][l1][l2] = k2.to_map() if k2 else None
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
if self.ssubmarray is not None:
|
|
562
|
+
result['ssubmarray'] = self.ssubmarray
|
|
563
|
+
if self.ssubmmarray is not None:
|
|
564
|
+
l1 = 0
|
|
565
|
+
result['ssubmmarray'] = []
|
|
566
|
+
for k1 in self.ssubmmarray:
|
|
567
|
+
l1 += 1
|
|
568
|
+
l2 = 0
|
|
569
|
+
result['ssubmmarray'][l1] = []
|
|
570
|
+
for k2 in k1:
|
|
571
|
+
l2 += 1
|
|
572
|
+
result['ssubmmarray'][l1][l2] = k2.to_map() if k2 else None
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
if self.maparray is not None:
|
|
576
|
+
result['maparray'] = self.maparray
|
|
577
|
+
if self.mapsubmarray is not None:
|
|
578
|
+
result['mapsubmarray'] = self.mapsubmarray
|
|
579
|
+
if self.module_model_map is not None:
|
|
580
|
+
result['moduleModelMap'] = {}
|
|
581
|
+
for k1, v1 in k.items():
|
|
582
|
+
result['moduleModelMap'][k1] = v1.to_map() if v1 else None
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
if self.sub_model_map is not None:
|
|
586
|
+
result['subModelMap'] = {}
|
|
587
|
+
for k1, v1 in k.items():
|
|
588
|
+
result['subModelMap'][k1] = v1.to_map() if v1 else None
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
if self.model_map is not None:
|
|
592
|
+
result['modelMap'] = {}
|
|
593
|
+
for k1, v1 in k.items():
|
|
594
|
+
result['modelMap'][k1] = v1.to_map() if v1 else None
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
if self.module_map is not None:
|
|
598
|
+
result['moduleMap'] = self.module_map
|
|
599
|
+
if self.object is not None:
|
|
600
|
+
result['object'] = self.object
|
|
601
|
+
if self.readable is not None:
|
|
602
|
+
result['readable'] = self.readable
|
|
603
|
+
if self.writable is not None:
|
|
604
|
+
result['writable'] = self.writable
|
|
605
|
+
if self.exist_model is not None:
|
|
606
|
+
result['existModel'] = self.exist_model.to_map()
|
|
607
|
+
|
|
608
|
+
if self.request is not None:
|
|
609
|
+
result['request'] = self.request.to_map()
|
|
610
|
+
|
|
611
|
+
if self.complex_list is not None:
|
|
612
|
+
result['complexList'] = self.complex_list
|
|
613
|
+
if self.numberfield is not None:
|
|
614
|
+
result['numberfield'] = self.numberfield
|
|
615
|
+
if self.integer_field is not None:
|
|
616
|
+
result['integerField'] = self.integer_field
|
|
617
|
+
if self.float_field is not None:
|
|
618
|
+
result['floatField'] = self.float_field
|
|
619
|
+
if self.double_field is not None:
|
|
620
|
+
result['doubleField'] = self.double_field
|
|
621
|
+
if self.long_field is not None:
|
|
622
|
+
result['longField'] = self.long_field
|
|
623
|
+
if self.ulong_field is not None:
|
|
624
|
+
result['ulongField'] = self.ulong_field
|
|
625
|
+
if self.int_8field is not None:
|
|
626
|
+
result['int8Field'] = self.int_8field
|
|
627
|
+
if self.int_16field is not None:
|
|
628
|
+
result['int16Field'] = self.int_16field
|
|
629
|
+
if self.int_32field is not None:
|
|
630
|
+
result['int32Field'] = self.int_32field
|
|
631
|
+
if self.int_64field is not None:
|
|
632
|
+
result['int64Field'] = self.int_64field
|
|
633
|
+
if self.uint_8field is not None:
|
|
634
|
+
result['uint8Field'] = self.uint_8field
|
|
635
|
+
if self.uint_16field is not None:
|
|
636
|
+
result['uint16Field'] = self.uint_16field
|
|
637
|
+
if self.uint_32field is not None:
|
|
638
|
+
result['uint32Field'] = self.uint_32field
|
|
639
|
+
if self.uint_64field is not None:
|
|
640
|
+
result['uint64Field'] = self.uint_64field
|
|
641
|
+
if self.link is not None:
|
|
642
|
+
result['link'] = self.link
|
|
643
|
+
return result
|
|
644
|
+
|
|
645
|
+
def from_map(self, m: dict = None):
|
|
646
|
+
m = m or dict()
|
|
647
|
+
if m.get('model') is not None:
|
|
648
|
+
temp_model = MyModelModel
|
|
649
|
+
self.model = temp_model.from_map(m.get('model'))
|
|
650
|
+
|
|
651
|
+
if m.get('stringfield') is not None:
|
|
652
|
+
self.stringfield = m.get('stringfield')
|
|
653
|
+
if m.get('bytesfield') is not None:
|
|
654
|
+
self.bytesfield = m.get('bytesfield')
|
|
655
|
+
if m.get('stringarrayfield') is not None:
|
|
656
|
+
self.stringarrayfield = m.get('stringarrayfield')
|
|
657
|
+
if m.get('mapfield') is not None:
|
|
658
|
+
self.mapfield = m.get('mapfield')
|
|
659
|
+
if m.get('realName') is not None:
|
|
660
|
+
self.name = m.get('realName')
|
|
661
|
+
if m.get('submodel') is not None:
|
|
662
|
+
temp_model = MyModelSubmodel
|
|
663
|
+
self.submodel = temp_model.from_map(m.get('submodel'))
|
|
664
|
+
|
|
665
|
+
if m.get('submodelMap') is not None:
|
|
666
|
+
self.submodel_map = {}
|
|
667
|
+
for k1, v1 in m.get('submodelMap').items():
|
|
668
|
+
self.submodel_map[k1] = MyModelSubmodel.from_map(v1)
|
|
669
|
+
|
|
670
|
+
if m.get('mapModel') is not None:
|
|
671
|
+
self.map_model = {}
|
|
672
|
+
for k1, v1 in m.get('mapModel').items():
|
|
673
|
+
self.map_model[k1] = M.from_map(v1)
|
|
674
|
+
|
|
675
|
+
if m.get('subarraymodel') is not None:
|
|
676
|
+
l1 = 0
|
|
677
|
+
self.subarraymodel = []
|
|
678
|
+
for k1 in m.get('subarraymodel'):
|
|
679
|
+
l1 += 1
|
|
680
|
+
temp_model = MyModelSubarraymodel
|
|
681
|
+
self.subarraymodel[l1] = temp_model.from_map(k1)
|
|
682
|
+
|
|
683
|
+
if m.get('subarray') is not None:
|
|
684
|
+
l1 = 0
|
|
685
|
+
self.subarray = []
|
|
686
|
+
for k1 in m.get('subarray'):
|
|
687
|
+
l1 += 1
|
|
688
|
+
self.subarray[l1] = M.from_map(k1)
|
|
689
|
+
|
|
690
|
+
if m.get('ssubarray') is not None:
|
|
691
|
+
l1 = 0
|
|
692
|
+
self.ssubarray = []
|
|
693
|
+
for k1 in m.get('ssubarray'):
|
|
694
|
+
l1 += 1
|
|
695
|
+
l2 = 0
|
|
696
|
+
self.ssubarray[l1] = []
|
|
697
|
+
for k2 in k1:
|
|
698
|
+
l2 += 1
|
|
699
|
+
self.ssubarray[l1][l2] = M.from_map(k2)
|
|
700
|
+
|
|
701
|
+
if m.get('ssubmarray') is not None:
|
|
702
|
+
self.ssubmarray = m.get('ssubmarray')
|
|
703
|
+
if m.get('ssubmmarray') is not None:
|
|
704
|
+
l1 = 0
|
|
705
|
+
self.ssubmmarray = []
|
|
706
|
+
for k1 in m.get('ssubmmarray'):
|
|
707
|
+
l1 += 1
|
|
708
|
+
l2 = 0
|
|
709
|
+
self.ssubmmarray[l1] = []
|
|
710
|
+
for k2 in k1:
|
|
711
|
+
l2 += 1
|
|
712
|
+
self.ssubmmarray[l1][l2] = SourceClient.from_map(k2)
|
|
713
|
+
|
|
714
|
+
if m.get('maparray') is not None:
|
|
715
|
+
self.maparray = m.get('maparray')
|
|
716
|
+
if m.get('mapsubmarray') is not None:
|
|
717
|
+
self.mapsubmarray = m.get('mapsubmarray')
|
|
718
|
+
if m.get('moduleModelMap') is not None:
|
|
719
|
+
self.module_model_map = {}
|
|
720
|
+
for k1, v1 in m.get('moduleModelMap').items():
|
|
721
|
+
self.module_model_map[k1] = SourceClient.from_map(v1)
|
|
722
|
+
|
|
723
|
+
if m.get('subModelMap') is not None:
|
|
724
|
+
self.sub_model_map = {}
|
|
725
|
+
for k1, v1 in m.get('subModelMap').items():
|
|
726
|
+
self.sub_model_map[k1] = MSubM.from_map(v1)
|
|
727
|
+
|
|
728
|
+
if m.get('modelMap') is not None:
|
|
729
|
+
self.model_map = {}
|
|
730
|
+
for k1, v1 in m.get('modelMap').items():
|
|
731
|
+
self.model_map[k1] = M.from_map(v1)
|
|
732
|
+
|
|
733
|
+
if m.get('moduleMap') is not None:
|
|
734
|
+
self.module_map = m.get('moduleMap')
|
|
735
|
+
if m.get('object') is not None:
|
|
736
|
+
self.object = m.get('object')
|
|
737
|
+
if m.get('readable') is not None:
|
|
738
|
+
self.readable = m.get('readable')
|
|
739
|
+
if m.get('writable') is not None:
|
|
740
|
+
self.writable = m.get('writable')
|
|
741
|
+
if m.get('existModel') is not None:
|
|
742
|
+
self.exist_model = M.from_map(m.get('existModel'))
|
|
743
|
+
|
|
744
|
+
if m.get('request') is not None:
|
|
745
|
+
self.request = DaraRequest.from_map(m.get('request'))
|
|
746
|
+
|
|
747
|
+
if m.get('complexList') is not None:
|
|
748
|
+
self.complex_list = m.get('complexList')
|
|
749
|
+
if m.get('numberfield') is not None:
|
|
750
|
+
self.numberfield = m.get('numberfield')
|
|
751
|
+
if m.get('integerField') is not None:
|
|
752
|
+
self.integer_field = m.get('integerField')
|
|
753
|
+
if m.get('floatField') is not None:
|
|
754
|
+
self.float_field = m.get('floatField')
|
|
755
|
+
if m.get('doubleField') is not None:
|
|
756
|
+
self.double_field = m.get('doubleField')
|
|
757
|
+
if m.get('longField') is not None:
|
|
758
|
+
self.long_field = m.get('longField')
|
|
759
|
+
if m.get('ulongField') is not None:
|
|
760
|
+
self.ulong_field = m.get('ulongField')
|
|
761
|
+
if m.get('int8Field') is not None:
|
|
762
|
+
self.int_8field = m.get('int8Field')
|
|
763
|
+
if m.get('int16Field') is not None:
|
|
764
|
+
self.int_16field = m.get('int16Field')
|
|
765
|
+
if m.get('int32Field') is not None:
|
|
766
|
+
self.int_32field = m.get('int32Field')
|
|
767
|
+
if m.get('int64Field') is not None:
|
|
768
|
+
self.int_64field = m.get('int64Field')
|
|
769
|
+
if m.get('uint8Field') is not None:
|
|
770
|
+
self.uint_8field = m.get('uint8Field')
|
|
771
|
+
if m.get('uint16Field') is not None:
|
|
772
|
+
self.uint_16field = m.get('uint16Field')
|
|
773
|
+
if m.get('uint32Field') is not None:
|
|
774
|
+
self.uint_32field = m.get('uint32Field')
|
|
775
|
+
if m.get('uint64Field') is not None:
|
|
776
|
+
self.uint_64field = m.get('uint64Field')
|
|
777
|
+
if m.get('link') is not None:
|
|
778
|
+
self.link = m.get('link')
|
|
779
|
+
return self
|
|
780
|
+
|