@darabonba/python-generator 2.0.4 → 2.0.5

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.
Files changed (111) hide show
  1. package/ChangeLog.md +5 -1
  2. package/lib/generator.js +118 -78
  3. package/package.json +1 -1
  4. package/tests/expected/annotation/tea_python_tests/models/_test.py +5 -4
  5. package/tests/expected/comment/tea_python_tests/models/_test_1.py +15 -4
  6. package/tests/expected/comment/tea_python_tests/models/_test_2.py +7 -4
  7. package/tests/expected/comment/tea_python_tests/models/_test_3.py +7 -4
  8. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +1 -1
  9. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  10. package/tests/expected/complex/tea_python_tests/models/_complex_request.py +85 -63
  11. package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
  12. package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +5 -4
  13. package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +5 -4
  14. package/tests/expected/complex/tea_python_tests/models/_response.py +5 -4
  15. package/tests/expected/model/tea_python_tests/exceptions/_main_file.py +1 -1
  16. package/tests/expected/model/tea_python_tests/models/_class.py +2 -3
  17. package/tests/expected/model/tea_python_tests/models/_m.py +3 -4
  18. package/tests/expected/model/tea_python_tests/models/_main_file_model.py +5 -4
  19. package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +5 -4
  20. package/tests/expected/model/tea_python_tests/models/_model.py +5 -4
  21. package/tests/expected/model/tea_python_tests/models/_msub_m.py +2 -3
  22. package/tests/expected/model/tea_python_tests/models/_my_model.py +216 -74
  23. package/tests/expected/model/tea_python_tests/models/_my_model_model.py +5 -4
  24. package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +5 -4
  25. package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
  26. package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +5 -4
  27. package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
  28. package/tests/expected/modelConfig/tea_python_tests/__init__.py +1 -0
  29. package/tests/expected/modelConfig/tea_python_tests/client.py +10 -0
  30. package/tests/expected/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
  31. package/tests/expected/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
  32. package/tests/expected/modelConfig/tea_python_tests/models/__init__.py +33 -0
  33. package/tests/expected/modelConfig/tea_python_tests/models/_class.py +23 -0
  34. package/tests/expected/modelConfig/tea_python_tests/models/_m.py +37 -0
  35. package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
  36. package/tests/expected/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
  37. package/tests/expected/modelConfig/tea_python_tests/models/_model.py +33 -0
  38. package/tests/expected/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
  39. package/tests/expected/modelConfig/tea_python_tests/models/_my_model.py +600 -0
  40. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
  41. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
  42. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
  43. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
  44. package/tests/expected/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
  45. package/tests/expected/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
  46. package/tests/expected/multi/tea_python_tests/exceptions/_err.py +2 -2
  47. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  48. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  49. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  50. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
  51. package/tests/expected/multi/tea_python_tests/model/user_models/_info.py +7 -4
  52. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +12 -8
  53. package/tests/expected/typedef/tea_python_tests/models/_m.py +7 -4
  54. package/tests/fixtures/model/main.dara +4 -0
  55. package/tests/fixtures/modelConfig/.libraries.json +3 -0
  56. package/tests/fixtures/modelConfig/Darafile +13 -0
  57. package/tests/fixtures/modelConfig/libraries/Darafile +20 -0
  58. package/tests/fixtures/modelConfig/libraries/import.dara +27 -0
  59. package/tests/fixtures/modelConfig/main.dara +81 -0
  60. package/tests/main.tests.js +18 -0
  61. package/tests/output/annotation/tea_python_tests/models/_test.py +5 -4
  62. package/tests/output/comment/tea_python_tests/models/_test_1.py +15 -4
  63. package/tests/output/comment/tea_python_tests/models/_test_2.py +7 -4
  64. package/tests/output/comment/tea_python_tests/models/_test_3.py +7 -4
  65. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +1 -1
  66. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +1 -1
  67. package/tests/output/complex/tea_python_tests/models/_complex_request.py +85 -63
  68. package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +9 -4
  69. package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +5 -4
  70. package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +5 -4
  71. package/tests/output/complex/tea_python_tests/models/_response.py +5 -4
  72. package/tests/output/model/tea_python_tests/exceptions/_main_file.py +1 -1
  73. package/tests/output/model/tea_python_tests/models/_class.py +2 -3
  74. package/tests/output/model/tea_python_tests/models/_m.py +3 -4
  75. package/tests/output/model/tea_python_tests/models/_main_file_model.py +5 -4
  76. package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +5 -4
  77. package/tests/output/model/tea_python_tests/models/_model.py +5 -4
  78. package/tests/output/model/tea_python_tests/models/_msub_m.py +2 -3
  79. package/tests/output/model/tea_python_tests/models/_my_model.py +216 -74
  80. package/tests/output/model/tea_python_tests/models/_my_model_model.py +5 -4
  81. package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +5 -4
  82. package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +2 -3
  83. package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +5 -4
  84. package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +5 -4
  85. package/tests/output/modelConfig/setup.py +77 -0
  86. package/tests/output/modelConfig/tea_python_tests/__init__.py +1 -0
  87. package/tests/output/modelConfig/tea_python_tests/client.py +10 -0
  88. package/tests/output/modelConfig/tea_python_tests/exceptions/__init__.py +11 -0
  89. package/tests/output/modelConfig/tea_python_tests/exceptions/_main_file.py +28 -0
  90. package/tests/output/modelConfig/tea_python_tests/models/__init__.py +33 -0
  91. package/tests/output/modelConfig/tea_python_tests/models/_class.py +23 -0
  92. package/tests/output/modelConfig/tea_python_tests/models/_m.py +37 -0
  93. package/tests/output/modelConfig/tea_python_tests/models/_main_file_model.py +46 -0
  94. package/tests/output/modelConfig/tea_python_tests/models/_main_file_model_model.py +33 -0
  95. package/tests/output/modelConfig/tea_python_tests/models/_model.py +33 -0
  96. package/tests/output/modelConfig/tea_python_tests/models/_msub_m.py +25 -0
  97. package/tests/output/modelConfig/tea_python_tests/models/_my_model.py +600 -0
  98. package/tests/output/modelConfig/tea_python_tests/models/_my_model_model.py +46 -0
  99. package/tests/output/modelConfig/tea_python_tests/models/_my_model_model_model.py +33 -0
  100. package/tests/output/modelConfig/tea_python_tests/models/_my_model_subarraymodel.py +23 -0
  101. package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel.py +46 -0
  102. package/tests/output/modelConfig/tea_python_tests/models/_my_model_submodel_model.py +33 -0
  103. package/tests/output/multi/tea_python_tests/api_models/_test_model_dir_2.py +5 -4
  104. package/tests/output/multi/tea_python_tests/exceptions/_err.py +2 -2
  105. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +1 -1
  106. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_1.py +1 -1
  107. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +1 -1
  108. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +5 -4
  109. package/tests/output/multi/tea_python_tests/model/user_models/_info.py +7 -4
  110. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +12 -8
  111. package/tests/output/typedef/tea_python_tests/models/_m.py +7 -4
@@ -0,0 +1,600 @@
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
+ class MyModel(DaraModel):
13
+ def __init__(
14
+ self, *,
15
+ model: main_models.MyModelModel = None,
16
+ stringfield: str = None,
17
+ bytesfield: bytes = None,
18
+ stringarrayfield: List[str] = None,
19
+ mapfield: Dict[str, str] = None,
20
+ name: str = None,
21
+ submodel: main_models.MyModelSubmodel = None,
22
+ submodel_map: Dict[str, main_models.MyModelSubmodel] = None,
23
+ map_model: Dict[str, main_models.M] = None,
24
+ subarraymodel: List[main_models.MyModelSubarraymodel] = None,
25
+ subarray: List[main_models.M] = None,
26
+ ssubarray: List[List[main_models.M]] = None,
27
+ ssubmarray: List[List[SourceClient]] = None,
28
+ sssubmarray: List[List[SourceClient]] = None,
29
+ ssubmmarray: List[List[source_models.Request]] = None,
30
+ sssubmmarray: List[List[List[source_models.Request]]] = None,
31
+ maparray: List[Dict[str, Any]] = None,
32
+ mapsubmarray: List[Dict[str, SourceClient]] = None,
33
+ module_model_map: Dict[str, source_models.Request] = None,
34
+ arr_module_model_map: List[Dict[str, source_models.Request]] = None,
35
+ arrs_module_model_map: List[List[Dict[str, source_models.Request]]] = None,
36
+ sub_model_map: Dict[str, main_models.MSubM] = None,
37
+ model_map: Dict[str, main_models.M] = None,
38
+ module_map: Dict[str, SourceClient] = None,
39
+ object: dict = None,
40
+ readable: BinaryIO = None,
41
+ writable: BinaryIO = None,
42
+ exist_model: main_models.M = None,
43
+ request: DaraRequest = None,
44
+ complex_list: List[List[str]] = None,
45
+ numberfield: int = None,
46
+ integer_field: int = None,
47
+ float_field: float = None,
48
+ double_field: float = None,
49
+ long_field: int = None,
50
+ ulong_field: int = None,
51
+ int_8field: int = None,
52
+ int_16field: int = None,
53
+ int_32field: int = None,
54
+ int_64field: int = None,
55
+ uint_8field: int = None,
56
+ uint_16field: int = None,
57
+ uint_32field: int = None,
58
+ uint_64field: int = None,
59
+ link: str = None,
60
+ ):
61
+ self.model = model
62
+ self.stringfield = stringfield
63
+ self.bytesfield = bytesfield
64
+ self.stringarrayfield = stringarrayfield
65
+ self.mapfield = mapfield
66
+ self.name = name
67
+ self.submodel = submodel
68
+ self.submodel_map = submodel_map
69
+ self.map_model = map_model
70
+ self.subarraymodel = subarraymodel
71
+ self.subarray = subarray
72
+ self.ssubarray = ssubarray
73
+ self.ssubmarray = ssubmarray
74
+ self.sssubmarray = sssubmarray
75
+ self.ssubmmarray = ssubmmarray
76
+ self.sssubmmarray = sssubmmarray
77
+ self.maparray = maparray
78
+ self.mapsubmarray = mapsubmarray
79
+ self.module_model_map = module_model_map
80
+ self.arr_module_model_map = arr_module_model_map
81
+ self.arrs_module_model_map = arrs_module_model_map
82
+ self.sub_model_map = sub_model_map
83
+ self.model_map = model_map
84
+ self.module_map = module_map
85
+ self.object = object
86
+ self.readable = readable
87
+ self.writable = writable
88
+ self.exist_model = exist_model
89
+ self.request = request
90
+ self.complex_list = complex_list
91
+ self.numberfield = numberfield
92
+ self.integer_field = integer_field
93
+ self.float_field = float_field
94
+ self.double_field = double_field
95
+ self.long_field = long_field
96
+ self.ulong_field = ulong_field
97
+ self.int_8field = int_8field
98
+ self.int_16field = int_16field
99
+ self.int_32field = int_32field
100
+ self.int_64field = int_64field
101
+ self.uint_8field = uint_8field
102
+ self.uint_16field = uint_16field
103
+ self.uint_32field = uint_32field
104
+ self.uint_64field = uint_64field
105
+ self.link = link
106
+
107
+ def validate(self):
108
+ self.validate_required(self.model, 'model')
109
+ if self.model:
110
+ self.model.validate()
111
+ self.validate_required(self.stringfield, 'stringfield')
112
+ self.validate_required(self.bytesfield, 'bytesfield')
113
+ self.validate_required(self.stringarrayfield, 'stringarrayfield')
114
+ self.validate_required(self.mapfield, 'mapfield')
115
+ self.validate_required(self.name, 'name')
116
+ self.validate_required(self.submodel, 'submodel')
117
+ if self.submodel:
118
+ self.submodel.validate()
119
+ self.validate_required(self.submodel_map, 'submodel_map')
120
+ if self.submodel_map:
121
+ for v1 in self.submodel_map.values():
122
+ if v1:
123
+ v1.validate()
124
+ self.validate_required(self.map_model, 'map_model')
125
+ if self.map_model:
126
+ for v1 in self.map_model.values():
127
+ if v1:
128
+ v1.validate()
129
+ self.validate_required(self.subarraymodel, 'subarraymodel')
130
+ if self.subarraymodel:
131
+ for v1 in self.subarraymodel:
132
+ if v1:
133
+ v1.validate()
134
+ self.validate_required(self.subarray, 'subarray')
135
+ if self.subarray:
136
+ for v1 in self.subarray:
137
+ if v1:
138
+ v1.validate()
139
+ self.validate_required(self.ssubarray, 'ssubarray')
140
+ if self.ssubarray:
141
+ for v1 in self.ssubarray:
142
+ for v2 in v1:
143
+ if v2:
144
+ v2.validate()
145
+ self.validate_required(self.ssubmarray, 'ssubmarray')
146
+ self.validate_required(self.sssubmarray, 'sssubmarray')
147
+ self.validate_required(self.ssubmmarray, 'ssubmmarray')
148
+ if self.ssubmmarray:
149
+ for v1 in self.ssubmmarray:
150
+ for v2 in v1:
151
+ if v2:
152
+ v2.validate()
153
+ self.validate_required(self.sssubmmarray, 'sssubmmarray')
154
+ if self.sssubmmarray:
155
+ for v1 in self.sssubmmarray:
156
+ for v2 in v1:
157
+ for v2 in v2:
158
+ if v2:
159
+ v2.validate()
160
+ self.validate_required(self.maparray, 'maparray')
161
+ self.validate_required(self.mapsubmarray, 'mapsubmarray')
162
+ self.validate_required(self.module_model_map, 'module_model_map')
163
+ if self.module_model_map:
164
+ for v1 in self.module_model_map.values():
165
+ if v1:
166
+ v1.validate()
167
+ self.validate_required(self.arr_module_model_map, 'arr_module_model_map')
168
+ if self.arr_module_model_map:
169
+ for v1 in self.arr_module_model_map:
170
+ for v2 in self.arr_module_model_map.values():
171
+ if v2:
172
+ v2.validate()
173
+ self.validate_required(self.arrs_module_model_map, 'arrs_module_model_map')
174
+ if self.arrs_module_model_map:
175
+ for v1 in self.arrs_module_model_map:
176
+ for v2 in v1:
177
+ for v2 in self.arrs_module_model_map.values():
178
+ if v2:
179
+ v2.validate()
180
+ self.validate_required(self.sub_model_map, 'sub_model_map')
181
+ if self.sub_model_map:
182
+ for v1 in self.sub_model_map.values():
183
+ if v1:
184
+ v1.validate()
185
+ self.validate_required(self.model_map, 'model_map')
186
+ if self.model_map:
187
+ for v1 in self.model_map.values():
188
+ if v1:
189
+ v1.validate()
190
+ self.validate_required(self.module_map, 'module_map')
191
+ self.validate_required(self.object, 'object')
192
+ self.validate_required(self.readable, 'readable')
193
+ self.validate_required(self.writable, 'writable')
194
+ self.validate_required(self.exist_model, 'exist_model')
195
+ if self.exist_model:
196
+ self.exist_model.validate()
197
+ self.validate_required(self.request, 'request')
198
+ self.validate_required(self.complex_list, 'complex_list')
199
+ self.validate_required(self.numberfield, 'numberfield')
200
+ self.validate_required(self.integer_field, 'integer_field')
201
+ self.validate_required(self.float_field, 'float_field')
202
+ self.validate_required(self.double_field, 'double_field')
203
+ self.validate_required(self.long_field, 'long_field')
204
+ self.validate_required(self.ulong_field, 'ulong_field')
205
+ self.validate_required(self.int_8field, 'int_8field')
206
+ self.validate_required(self.int_16field, 'int_16field')
207
+ self.validate_required(self.int_32field, 'int_32field')
208
+ self.validate_required(self.int_64field, 'int_64field')
209
+ self.validate_required(self.uint_8field, 'uint_8field')
210
+ self.validate_required(self.uint_16field, 'uint_16field')
211
+ self.validate_required(self.uint_32field, 'uint_32field')
212
+ self.validate_required(self.uint_64field, 'uint_64field')
213
+
214
+ def to_map(self):
215
+ result = dict()
216
+ _map = super().to_map()
217
+ if _map is not None:
218
+ result = _map
219
+ if self.model is not None:
220
+ result['model'] = self.model.to_map()
221
+
222
+ if self.stringfield is not None:
223
+ result['stringfield'] = self.stringfield
224
+
225
+ if self.bytesfield is not None:
226
+ result['bytesfield'] = self.bytesfield
227
+
228
+ if self.stringarrayfield is not None:
229
+ result['stringarrayfield'] = self.stringarrayfield
230
+
231
+ if self.mapfield is not None:
232
+ result['mapfield'] = self.mapfield
233
+
234
+ if self.name is not None:
235
+ result['realName'] = self.name
236
+
237
+ if self.submodel is not None:
238
+ result['submodel'] = self.submodel.to_map()
239
+
240
+ if self.submodel_map is not None:
241
+ result['submodelMap'] = {}
242
+ for k1, v1 in self.submodel_map.items():
243
+ result['submodelMap'][k1] = v1.to_map() if v1 else None
244
+
245
+ if self.map_model is not None:
246
+ result['mapModel'] = {}
247
+ for k1, v1 in self.map_model.items():
248
+ result['mapModel'][k1] = v1.to_map() if v1 else None
249
+
250
+ if self.subarraymodel is not None:
251
+ result['subarraymodel'] = []
252
+ for k1 in self.subarraymodel:
253
+ result['subarraymodel'].append(k1.to_map() if k1 else None)
254
+
255
+ if self.subarray is not None:
256
+ result['subarray'] = []
257
+ for k1 in self.subarray:
258
+ result['subarray'].append(k1.to_map() if k1 else None)
259
+
260
+ if self.ssubarray is not None:
261
+ result['ssubarray'] = []
262
+ for k1 in self.ssubarray:
263
+ l1 = []
264
+ for k2 in k1:
265
+ l1.append(k2.to_map() if k2 else None)
266
+ result['ssubarray'].append(l1)
267
+
268
+ if self.ssubmarray is not None:
269
+ result['ssubmarray'] = self.ssubmarray
270
+
271
+ if self.sssubmarray is not None:
272
+ result['sssubmarray'] = self.sssubmarray
273
+
274
+ if self.ssubmmarray is not None:
275
+ result['ssubmmarray'] = []
276
+ for k1 in self.ssubmmarray:
277
+ l1 = []
278
+ for k2 in k1:
279
+ l1.append(k2.to_map() if k2 else None)
280
+ result['ssubmmarray'].append(l1)
281
+
282
+ if self.sssubmmarray is not None:
283
+ result['sssubmmarray'] = []
284
+ for k1 in self.sssubmmarray:
285
+ l1 = []
286
+ for k2 in k1:
287
+ l2 = []
288
+ for k3 in k2:
289
+ l2.append(k3.to_map() if k3 else None)
290
+ l1.append(l2)
291
+ result['sssubmmarray'].append(l1)
292
+
293
+ if self.maparray is not None:
294
+ result['maparray'] = self.maparray
295
+
296
+ if self.mapsubmarray is not None:
297
+ result['mapsubmarray'] = self.mapsubmarray
298
+
299
+ if self.module_model_map is not None:
300
+ result['moduleModelMap'] = {}
301
+ for k1, v1 in self.module_model_map.items():
302
+ result['moduleModelMap'][k1] = v1.to_map() if v1 else None
303
+
304
+ if self.arr_module_model_map is not None:
305
+ result['arrModuleModelMap'] = []
306
+ for k1 in self.arr_module_model_map:
307
+ d1 = {}
308
+ for k2, v2 in self.arr_module_model_map.items():
309
+ d1[k2] = v2.to_map() if v2 else None
310
+ result['arrModuleModelMap'].append(d1)
311
+
312
+ if self.arrs_module_model_map is not None:
313
+ result['arrsModuleModelMap'] = []
314
+ for k1 in self.arrs_module_model_map:
315
+ l1 = []
316
+ for k2 in k1:
317
+ d2 = {}
318
+ for k3, v3 in self.arrs_module_model_map.items():
319
+ d2[k3] = v3.to_map() if v3 else None
320
+ l1.append(d2)
321
+ result['arrsModuleModelMap'].append(l1)
322
+
323
+ if self.sub_model_map is not None:
324
+ result['subModelMap'] = {}
325
+ for k1, v1 in self.sub_model_map.items():
326
+ result['subModelMap'][k1] = v1.to_map() if v1 else None
327
+
328
+ if self.model_map is not None:
329
+ result['modelMap'] = {}
330
+ for k1, v1 in self.model_map.items():
331
+ result['modelMap'][k1] = v1.to_map() if v1 else None
332
+
333
+ if self.module_map is not None:
334
+ result['moduleMap'] = self.module_map
335
+
336
+ if self.object is not None:
337
+ result['object'] = self.object
338
+
339
+ if self.readable is not None:
340
+ result['readable'] = self.readable
341
+
342
+ if self.writable is not None:
343
+ result['writable'] = self.writable
344
+
345
+ if self.exist_model is not None:
346
+ result['existModel'] = self.exist_model.to_map()
347
+
348
+ if self.request is not None:
349
+ result['request'] = self.request.to_map()
350
+
351
+ if self.complex_list is not None:
352
+ result['complexList'] = self.complex_list
353
+
354
+ if self.numberfield is not None:
355
+ result['numberfield'] = self.numberfield
356
+
357
+ if self.integer_field is not None:
358
+ result['integerField'] = self.integer_field
359
+
360
+ if self.float_field is not None:
361
+ result['floatField'] = self.float_field
362
+
363
+ if self.double_field is not None:
364
+ result['doubleField'] = self.double_field
365
+
366
+ if self.long_field is not None:
367
+ result['longField'] = self.long_field
368
+
369
+ if self.ulong_field is not None:
370
+ result['ulongField'] = self.ulong_field
371
+
372
+ if self.int_8field is not None:
373
+ result['int8Field'] = self.int_8field
374
+
375
+ if self.int_16field is not None:
376
+ result['int16Field'] = self.int_16field
377
+
378
+ if self.int_32field is not None:
379
+ result['int32Field'] = self.int_32field
380
+
381
+ if self.int_64field is not None:
382
+ result['int64Field'] = self.int_64field
383
+
384
+ if self.uint_8field is not None:
385
+ result['uint8Field'] = self.uint_8field
386
+
387
+ if self.uint_16field is not None:
388
+ result['uint16Field'] = self.uint_16field
389
+
390
+ if self.uint_32field is not None:
391
+ result['uint32Field'] = self.uint_32field
392
+
393
+ if self.uint_64field is not None:
394
+ result['uint64Field'] = self.uint_64field
395
+
396
+ if self.link is not None:
397
+ result['link'] = self.link
398
+
399
+ return result
400
+
401
+ def from_map(self, m: dict = None):
402
+ m = m or dict()
403
+ if m.get('model') is not None:
404
+ temp_model = main_models.MyModelModel()
405
+ self.model = temp_model.from_map(m.get('model'))
406
+
407
+ if m.get('stringfield') is not None:
408
+ self.stringfield = m.get('stringfield')
409
+
410
+ if m.get('bytesfield') is not None:
411
+ self.bytesfield = m.get('bytesfield')
412
+
413
+ if m.get('stringarrayfield') is not None:
414
+ self.stringarrayfield = m.get('stringarrayfield')
415
+
416
+ if m.get('mapfield') is not None:
417
+ self.mapfield = m.get('mapfield')
418
+
419
+ if m.get('realName') is not None:
420
+ self.name = m.get('realName')
421
+
422
+ if m.get('submodel') is not None:
423
+ temp_model = main_models.MyModelSubmodel()
424
+ self.submodel = temp_model.from_map(m.get('submodel'))
425
+
426
+ if m.get('submodelMap') is not None:
427
+ self.submodel_map = {}
428
+ for k1, v1 in m.get('submodelMap').items():
429
+ temp_model = main_models.MyModelSubmodel()
430
+ self.submodel_map[k1] = temp_model.from_map(v1)
431
+
432
+ if m.get('mapModel') is not None:
433
+ self.map_model = {}
434
+ for k1, v1 in m.get('mapModel').items():
435
+ temp_model = main_models.M()
436
+ self.map_model[k1] = temp_model.from_map(v1)
437
+
438
+ if m.get('subarraymodel') is not None:
439
+ self.subarraymodel = []
440
+ for k1 in m.get('subarraymodel'):
441
+ temp_model = main_models.MyModelSubarraymodel()
442
+ self.subarraymodel.append(temp_model.from_map(k1))
443
+
444
+ if m.get('subarray') is not None:
445
+ self.subarray = []
446
+ for k1 in m.get('subarray'):
447
+ temp_model = main_models.M()
448
+ self.subarray.append(temp_model.from_map(k1))
449
+
450
+ if m.get('ssubarray') is not None:
451
+ self.ssubarray = []
452
+ for k1 in m.get('ssubarray'):
453
+ for k2 in k1:
454
+ l1 = []
455
+ temp_model = main_models.M()
456
+ l1.append(temp_model.from_map(k2))
457
+ self.ssubarray.append(l1)
458
+
459
+ if m.get('ssubmarray') is not None:
460
+ self.ssubmarray = m.get('ssubmarray')
461
+
462
+ if m.get('sssubmarray') is not None:
463
+ self.sssubmarray = m.get('sssubmarray')
464
+
465
+ if m.get('ssubmmarray') is not None:
466
+ self.ssubmmarray = []
467
+ for k1 in m.get('ssubmmarray'):
468
+ for k2 in k1:
469
+ l1 = []
470
+ temp_model = source_models.Request()
471
+ l1.append(temp_model.from_map(k2))
472
+ self.ssubmmarray.append(l1)
473
+
474
+ if m.get('sssubmmarray') is not None:
475
+ self.sssubmmarray = []
476
+ for k1 in m.get('sssubmmarray'):
477
+ for k2 in k1:
478
+ l1 = []
479
+ for k3 in k2:
480
+ l2 = []
481
+ temp_model = source_models.Request()
482
+ l2.append(temp_model.from_map(k3))
483
+ l1.append(l2)
484
+ self.sssubmmarray.append(l1)
485
+
486
+ if m.get('maparray') is not None:
487
+ self.maparray = m.get('maparray')
488
+
489
+ if m.get('mapsubmarray') is not None:
490
+ self.mapsubmarray = m.get('mapsubmarray')
491
+
492
+ if m.get('moduleModelMap') is not None:
493
+ self.module_model_map = {}
494
+ for k1, v1 in m.get('moduleModelMap').items():
495
+ temp_model = source_models.Request()
496
+ self.module_model_map[k1] = temp_model.from_map(v1)
497
+
498
+ if m.get('arrModuleModelMap') is not None:
499
+ self.arr_module_model_map = []
500
+ for k1 in m.get('arrModuleModelMap'):
501
+ for k2, v2 in k1.items():
502
+ d1 = {}
503
+ temp_model = source_models.Request()
504
+ d1[k2] = temp_model.from_map(v2)
505
+ self.arr_module_model_map.append(d1)
506
+
507
+ if m.get('arrsModuleModelMap') is not None:
508
+ self.arrs_module_model_map = []
509
+ for k1 in m.get('arrsModuleModelMap'):
510
+ for k2 in k1:
511
+ l1 = []
512
+ for k3, v3 in k2.items():
513
+ d2 = {}
514
+ temp_model = source_models.Request()
515
+ d2[k3] = temp_model.from_map(v3)
516
+ l1.append(d2)
517
+ self.arrs_module_model_map.append(l1)
518
+
519
+ if m.get('subModelMap') is not None:
520
+ self.sub_model_map = {}
521
+ for k1, v1 in m.get('subModelMap').items():
522
+ temp_model = main_models.MSubM()
523
+ self.sub_model_map[k1] = temp_model.from_map(v1)
524
+
525
+ if m.get('modelMap') is not None:
526
+ self.model_map = {}
527
+ for k1, v1 in m.get('modelMap').items():
528
+ temp_model = main_models.M()
529
+ self.model_map[k1] = temp_model.from_map(v1)
530
+
531
+ if m.get('moduleMap') is not None:
532
+ self.module_map = m.get('moduleMap')
533
+
534
+ if m.get('object') is not None:
535
+ self.object = m.get('object')
536
+
537
+ if m.get('readable') is not None:
538
+ self.readable = m.get('readable')
539
+
540
+ if m.get('writable') is not None:
541
+ self.writable = m.get('writable')
542
+
543
+ if m.get('existModel') is not None:
544
+ temp_model = main_models.M()
545
+ self.exist_model = temp_model.from_map(m.get('existModel'))
546
+
547
+ if m.get('request') is not None:
548
+ temp_model = DaraRequest()
549
+ self.request = temp_model.from_map(m.get('request'))
550
+
551
+ if m.get('complexList') is not None:
552
+ self.complex_list = m.get('complexList')
553
+
554
+ if m.get('numberfield') is not None:
555
+ self.numberfield = m.get('numberfield')
556
+
557
+ if m.get('integerField') is not None:
558
+ self.integer_field = m.get('integerField')
559
+
560
+ if m.get('floatField') is not None:
561
+ self.float_field = m.get('floatField')
562
+
563
+ if m.get('doubleField') is not None:
564
+ self.double_field = m.get('doubleField')
565
+
566
+ if m.get('longField') is not None:
567
+ self.long_field = m.get('longField')
568
+
569
+ if m.get('ulongField') is not None:
570
+ self.ulong_field = m.get('ulongField')
571
+
572
+ if m.get('int8Field') is not None:
573
+ self.int_8field = m.get('int8Field')
574
+
575
+ if m.get('int16Field') is not None:
576
+ self.int_16field = m.get('int16Field')
577
+
578
+ if m.get('int32Field') is not None:
579
+ self.int_32field = m.get('int32Field')
580
+
581
+ if m.get('int64Field') is not None:
582
+ self.int_64field = m.get('int64Field')
583
+
584
+ if m.get('uint8Field') is not None:
585
+ self.uint_8field = m.get('uint8Field')
586
+
587
+ if m.get('uint16Field') is not None:
588
+ self.uint_16field = m.get('uint16Field')
589
+
590
+ if m.get('uint32Field') is not None:
591
+ self.uint_32field = m.get('uint32Field')
592
+
593
+ if m.get('uint64Field') is not None:
594
+ self.uint_64field = m.get('uint64Field')
595
+
596
+ if m.get('link') is not None:
597
+ self.link = m.get('link')
598
+
599
+ return self
600
+
@@ -0,0 +1,46 @@
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
+
7
+
8
+ class MyModelModel(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ str: str = None,
12
+ model: main_models.MyModelModelModel = None,
13
+ ):
14
+ self.str = str
15
+ self.model = model
16
+
17
+ def validate(self):
18
+ self.validate_required(self.str, 'str')
19
+ self.validate_required(self.model, 'model')
20
+ if self.model:
21
+ self.model.validate()
22
+
23
+ def to_map(self):
24
+ result = dict()
25
+ _map = super().to_map()
26
+ if _map is not None:
27
+ result = _map
28
+ if self.str is not None:
29
+ result['str'] = self.str
30
+
31
+ if self.model is not None:
32
+ result['model'] = self.model.to_map()
33
+
34
+ return result
35
+
36
+ def from_map(self, m: dict = None):
37
+ m = m or dict()
38
+ if m.get('str') is not None:
39
+ self.str = m.get('str')
40
+
41
+ if m.get('model') is not None:
42
+ temp_model = main_models.MyModelModelModel()
43
+ self.model = temp_model.from_map(m.get('model'))
44
+
45
+ return self
46
+
@@ -0,0 +1,33 @@
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
+
6
+
7
+ class MyModelModelModel(DaraModel):
8
+ def __init__(
9
+ self, *,
10
+ str: str = None,
11
+ ):
12
+ self.str = str
13
+
14
+ def validate(self):
15
+ self.validate_required(self.str, 'str')
16
+
17
+ def to_map(self):
18
+ result = dict()
19
+ _map = super().to_map()
20
+ if _map is not None:
21
+ result = _map
22
+ if self.str is not None:
23
+ result['str'] = self.str
24
+
25
+ return result
26
+
27
+ def from_map(self, m: dict = None):
28
+ m = m or dict()
29
+ if m.get('str') is not None:
30
+ self.str = m.get('str')
31
+
32
+ return self
33
+
@@ -0,0 +1,23 @@
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
+
6
+
7
+ class MyModelSubarraymodel(DaraModel):
8
+ def __init__(self):
9
+ pass
10
+ def validate(self):
11
+ pass
12
+
13
+ def to_map(self):
14
+ result = dict()
15
+ _map = super().to_map()
16
+ if _map is not None:
17
+ result = _map
18
+ return result
19
+
20
+ def from_map(self, m: dict = None):
21
+ m = m or dict()
22
+ return self
23
+