@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
@@ -6,7 +6,7 @@ from darabonba.model import DaraModel
6
6
 
7
7
  class MainFileModelModel(DaraModel):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  str: str = None,
11
11
  ):
12
12
  self.str = str
@@ -15,18 +15,19 @@ class MainFileModelModel(DaraModel):
15
15
  self.validate_required(self.str, 'str')
16
16
 
17
17
  def to_map(self):
18
+ result = dict()
18
19
  _map = super().to_map()
19
20
  if _map is not None:
20
- return _map
21
-
22
- result = dict()
21
+ result = _map
23
22
  if self.str is not None:
24
23
  result['str'] = self.str
24
+
25
25
  return result
26
26
 
27
27
  def from_map(self, m: dict = None):
28
28
  m = m or dict()
29
29
  if m.get('str') is not None:
30
30
  self.str = m.get('str')
31
+
31
32
  return self
32
33
 
@@ -6,7 +6,7 @@ from darabonba.model import DaraModel
6
6
 
7
7
  class Model(DaraModel):
8
8
  def __init__(
9
- self, *,
9
+ self,
10
10
  str: str = None,
11
11
  ):
12
12
  self.str = str
@@ -15,18 +15,19 @@ class Model(DaraModel):
15
15
  self.validate_required(self.str, 'str')
16
16
 
17
17
  def to_map(self):
18
+ result = dict()
18
19
  _map = super().to_map()
19
20
  if _map is not None:
20
- return _map
21
-
22
- result = dict()
21
+ result = _map
23
22
  if self.str is not None:
24
23
  result['str'] = self.str
24
+
25
25
  return result
26
26
 
27
27
  def from_map(self, m: dict = None):
28
28
  m = m or dict()
29
29
  if m.get('str') is not None:
30
30
  self.str = m.get('str')
31
+
31
32
  return self
32
33
 
@@ -13,11 +13,10 @@ class MSubM(DaraModel):
13
13
  pass
14
14
 
15
15
  def to_map(self):
16
+ result = dict()
16
17
  _map = super().to_map()
17
18
  if _map is not None:
18
- return _map
19
-
20
- result = dict()
19
+ result = _map
21
20
  return result
22
21
 
23
22
  def from_map(self, m: dict = None):
@@ -11,7 +11,7 @@ from typing import List, Dict, Any, BinaryIO
11
11
 
12
12
  class MyModel(DaraModel):
13
13
  def __init__(
14
- self, *,
14
+ self,
15
15
  model: main_models.MyModelModel = None,
16
16
  stringfield: str = None,
17
17
  bytesfield: bytes = None,
@@ -25,10 +25,14 @@ class MyModel(DaraModel):
25
25
  subarray: List[main_models.M] = None,
26
26
  ssubarray: List[List[main_models.M]] = None,
27
27
  ssubmarray: List[List[SourceClient]] = None,
28
+ sssubmarray: List[List[SourceClient]] = None,
28
29
  ssubmmarray: List[List[source_models.Request]] = None,
30
+ sssubmmarray: List[List[List[source_models.Request]]] = None,
29
31
  maparray: List[Dict[str, Any]] = None,
30
32
  mapsubmarray: List[Dict[str, SourceClient]] = None,
31
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,
32
36
  sub_model_map: Dict[str, main_models.MSubM] = None,
33
37
  model_map: Dict[str, main_models.M] = None,
34
38
  module_map: Dict[str, SourceClient] = None,
@@ -67,10 +71,14 @@ class MyModel(DaraModel):
67
71
  self.subarray = subarray
68
72
  self.ssubarray = ssubarray
69
73
  self.ssubmarray = ssubmarray
74
+ self.sssubmarray = sssubmarray
70
75
  self.ssubmmarray = ssubmmarray
76
+ self.sssubmmarray = sssubmmarray
71
77
  self.maparray = maparray
72
78
  self.mapsubmarray = mapsubmarray
73
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
74
82
  self.sub_model_map = sub_model_map
75
83
  self.model_map = model_map
76
84
  self.module_map = module_map
@@ -110,64 +118,76 @@ class MyModel(DaraModel):
110
118
  self.submodel.validate()
111
119
  self.validate_required(self.submodel_map, 'submodel_map')
112
120
  if self.submodel_map:
113
- for v in self.submodel_map.values():
114
- if v:
115
- v.validate()
121
+ for v1 in self.submodel_map.values():
122
+ if v1:
123
+ v1.validate()
116
124
  self.validate_required(self.map_model, 'map_model')
117
125
  if self.map_model:
118
- for v in self.map_model.values():
119
- if v:
120
- v.validate()
126
+ for v1 in self.map_model.values():
127
+ if v1:
128
+ v1.validate()
121
129
  self.validate_required(self.subarraymodel, 'subarraymodel')
122
130
  if self.subarraymodel:
123
- for k in self.subarraymodel:
124
- if k:
125
- k.validate()
131
+ for v1 in self.subarraymodel:
132
+ if v1:
133
+ v1.validate()
126
134
  self.validate_required(self.subarray, 'subarray')
127
135
  if self.subarray:
128
- for k in self.subarray:
129
- if k:
130
- k.validate()
136
+ for v1 in self.subarray:
137
+ if v1:
138
+ v1.validate()
131
139
  self.validate_required(self.ssubarray, 'ssubarray')
132
140
  if self.ssubarray:
133
- for k in self.ssubarray:
134
- for k1 in k:
135
- if k1:
136
- k1.validate()
141
+ for v1 in self.ssubarray:
142
+ for v2 in v1:
143
+ if v2:
144
+ v2.validate()
137
145
  self.validate_required(self.ssubmarray, 'ssubmarray')
138
- if self.ssubmarray:
139
- for k in self.ssubmarray:
140
- for k1 in k:
141
- if k1:
142
- k1.validate()
146
+ self.validate_required(self.sssubmarray, 'sssubmarray')
143
147
  self.validate_required(self.ssubmmarray, 'ssubmmarray')
144
148
  if self.ssubmmarray:
145
- for k in self.ssubmmarray:
146
- for k1 in k:
147
- if k1:
148
- k1.validate()
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()
149
160
  self.validate_required(self.maparray, 'maparray')
150
161
  self.validate_required(self.mapsubmarray, 'mapsubmarray')
151
162
  self.validate_required(self.module_model_map, 'module_model_map')
152
163
  if self.module_model_map:
153
- for v in self.module_model_map.values():
154
- if v:
155
- v.validate()
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()
156
180
  self.validate_required(self.sub_model_map, 'sub_model_map')
157
181
  if self.sub_model_map:
158
- for v in self.sub_model_map.values():
159
- if v:
160
- v.validate()
182
+ for v1 in self.sub_model_map.values():
183
+ if v1:
184
+ v1.validate()
161
185
  self.validate_required(self.model_map, 'model_map')
162
186
  if self.model_map:
163
- for v in self.model_map.values():
164
- if v:
165
- v.validate()
187
+ for v1 in self.model_map.values():
188
+ if v1:
189
+ v1.validate()
166
190
  self.validate_required(self.module_map, 'module_map')
167
- if self.module_map:
168
- for v in self.module_map.values():
169
- if v:
170
- v.validate()
171
191
  self.validate_required(self.object, 'object')
172
192
  self.validate_required(self.readable, 'readable')
173
193
  self.validate_required(self.writable, 'writable')
@@ -192,90 +212,136 @@ class MyModel(DaraModel):
192
212
  self.validate_required(self.uint_64field, 'uint_64field')
193
213
 
194
214
  def to_map(self):
215
+ result = dict()
195
216
  _map = super().to_map()
196
217
  if _map is not None:
197
- return _map
198
-
199
- result = dict()
218
+ result = _map
200
219
  if self.model is not None:
201
220
  result['model'] = self.model.to_map()
202
221
 
203
222
  if self.stringfield is not None:
204
223
  result['stringfield'] = self.stringfield
224
+
205
225
  if self.bytesfield is not None:
206
226
  result['bytesfield'] = self.bytesfield
227
+
207
228
  if self.stringarrayfield is not None:
208
229
  result['stringarrayfield'] = self.stringarrayfield
230
+
209
231
  if self.mapfield is not None:
210
232
  result['mapfield'] = self.mapfield
233
+
211
234
  if self.name is not None:
212
235
  result['realName'] = self.name
236
+
213
237
  if self.submodel is not None:
214
238
  result['submodel'] = self.submodel.to_map()
215
239
 
240
+ result['submodelMap'] = {}
216
241
  if self.submodel_map is not None:
217
- result['submodelMap'] = {}
218
242
  for k1, v1 in self.submodel_map.items():
219
243
  result['submodelMap'][k1] = v1.to_map() if v1 else None
220
244
 
245
+ result['mapModel'] = {}
221
246
  if self.map_model is not None:
222
- result['mapModel'] = {}
223
247
  for k1, v1 in self.map_model.items():
224
248
  result['mapModel'][k1] = v1.to_map() if v1 else None
225
249
 
250
+ result['subarraymodel'] = []
226
251
  if self.subarraymodel is not None:
227
- result['subarraymodel'] = []
228
252
  for k1 in self.subarraymodel:
229
253
  result['subarraymodel'].append(k1.to_map() if k1 else None)
230
254
 
255
+ result['subarray'] = []
231
256
  if self.subarray is not None:
232
- result['subarray'] = []
233
257
  for k1 in self.subarray:
234
258
  result['subarray'].append(k1.to_map() if k1 else None)
235
259
 
260
+ result['ssubarray'] = []
236
261
  if self.ssubarray is not None:
237
- result['ssubarray'] = []
238
262
  for k1 in self.ssubarray:
239
- result['ssubarray'] = []
263
+ l1 = []
240
264
  for k2 in k1:
241
- result['ssubarray'].append(k2.to_map() if k2 else None)
265
+ l1.append(k2.to_map() if k2 else None)
266
+ result['ssubarray'].append(l1)
242
267
 
243
268
  if self.ssubmarray is not None:
244
269
  result['ssubmarray'] = self.ssubmarray
270
+
271
+ if self.sssubmarray is not None:
272
+ result['sssubmarray'] = self.sssubmarray
273
+
274
+ result['ssubmmarray'] = []
245
275
  if self.ssubmmarray is not None:
246
- result['ssubmmarray'] = []
247
276
  for k1 in self.ssubmmarray:
248
- result['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
+ result['sssubmmarray'] = []
283
+ if self.sssubmmarray is not None:
284
+ for k1 in self.sssubmmarray:
285
+ l1 = []
249
286
  for k2 in k1:
250
- result['ssubmmarray'].append(k2.to_map() if k2 else None)
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)
251
292
 
252
293
  if self.maparray is not None:
253
294
  result['maparray'] = self.maparray
295
+
254
296
  if self.mapsubmarray is not None:
255
297
  result['mapsubmarray'] = self.mapsubmarray
298
+
299
+ result['moduleModelMap'] = {}
256
300
  if self.module_model_map is not None:
257
- result['moduleModelMap'] = {}
258
301
  for k1, v1 in self.module_model_map.items():
259
302
  result['moduleModelMap'][k1] = v1.to_map() if v1 else None
260
303
 
304
+ result['arrModuleModelMap'] = []
305
+ if self.arr_module_model_map is not None:
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
+ result['arrsModuleModelMap'] = []
313
+ if self.arrs_module_model_map is not None:
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
+ result['subModelMap'] = {}
261
324
  if self.sub_model_map is not None:
262
- result['subModelMap'] = {}
263
325
  for k1, v1 in self.sub_model_map.items():
264
326
  result['subModelMap'][k1] = v1.to_map() if v1 else None
265
327
 
328
+ result['modelMap'] = {}
266
329
  if self.model_map is not None:
267
- result['modelMap'] = {}
268
330
  for k1, v1 in self.model_map.items():
269
331
  result['modelMap'][k1] = v1.to_map() if v1 else None
270
332
 
271
333
  if self.module_map is not None:
272
334
  result['moduleMap'] = self.module_map
335
+
273
336
  if self.object is not None:
274
337
  result['object'] = self.object
338
+
275
339
  if self.readable is not None:
276
340
  result['readable'] = self.readable
341
+
277
342
  if self.writable is not None:
278
343
  result['writable'] = self.writable
344
+
279
345
  if self.exist_model is not None:
280
346
  result['existModel'] = self.exist_model.to_map()
281
347
 
@@ -284,36 +350,52 @@ class MyModel(DaraModel):
284
350
 
285
351
  if self.complex_list is not None:
286
352
  result['complexList'] = self.complex_list
353
+
287
354
  if self.numberfield is not None:
288
355
  result['numberfield'] = self.numberfield
356
+
289
357
  if self.integer_field is not None:
290
358
  result['integerField'] = self.integer_field
359
+
291
360
  if self.float_field is not None:
292
361
  result['floatField'] = self.float_field
362
+
293
363
  if self.double_field is not None:
294
364
  result['doubleField'] = self.double_field
365
+
295
366
  if self.long_field is not None:
296
367
  result['longField'] = self.long_field
368
+
297
369
  if self.ulong_field is not None:
298
370
  result['ulongField'] = self.ulong_field
371
+
299
372
  if self.int_8field is not None:
300
373
  result['int8Field'] = self.int_8field
374
+
301
375
  if self.int_16field is not None:
302
376
  result['int16Field'] = self.int_16field
377
+
303
378
  if self.int_32field is not None:
304
379
  result['int32Field'] = self.int_32field
380
+
305
381
  if self.int_64field is not None:
306
382
  result['int64Field'] = self.int_64field
383
+
307
384
  if self.uint_8field is not None:
308
385
  result['uint8Field'] = self.uint_8field
386
+
309
387
  if self.uint_16field is not None:
310
388
  result['uint16Field'] = self.uint_16field
389
+
311
390
  if self.uint_32field is not None:
312
391
  result['uint32Field'] = self.uint_32field
392
+
313
393
  if self.uint_64field is not None:
314
394
  result['uint64Field'] = self.uint_64field
395
+
315
396
  if self.link is not None:
316
397
  result['link'] = self.link
398
+
317
399
  return result
318
400
 
319
401
  def from_map(self, m: dict = None):
@@ -324,96 +406,140 @@ class MyModel(DaraModel):
324
406
 
325
407
  if m.get('stringfield') is not None:
326
408
  self.stringfield = m.get('stringfield')
409
+
327
410
  if m.get('bytesfield') is not None:
328
411
  self.bytesfield = m.get('bytesfield')
412
+
329
413
  if m.get('stringarrayfield') is not None:
330
414
  self.stringarrayfield = m.get('stringarrayfield')
415
+
331
416
  if m.get('mapfield') is not None:
332
417
  self.mapfield = m.get('mapfield')
418
+
333
419
  if m.get('realName') is not None:
334
420
  self.name = m.get('realName')
421
+
335
422
  if m.get('submodel') is not None:
336
423
  temp_model = main_models.MyModelSubmodel()
337
424
  self.submodel = temp_model.from_map(m.get('submodel'))
338
425
 
426
+ self.submodel_map = {}
339
427
  if m.get('submodelMap') is not None:
340
- self.submodel_map = {}
341
428
  for k1, v1 in m.get('submodelMap').items():
342
429
  temp_model = main_models.MyModelSubmodel()
343
430
  self.submodel_map[k1] = temp_model.from_map(v1)
344
431
 
432
+ self.map_model = {}
345
433
  if m.get('mapModel') is not None:
346
- self.map_model = {}
347
434
  for k1, v1 in m.get('mapModel').items():
348
435
  temp_model = main_models.M()
349
436
  self.map_model[k1] = temp_model.from_map(v1)
350
437
 
438
+ self.subarraymodel = []
351
439
  if m.get('subarraymodel') is not None:
352
- l1 = 0
353
- self.subarraymodel = []
354
440
  for k1 in m.get('subarraymodel'):
355
441
  temp_model = main_models.MyModelSubarraymodel()
356
442
  self.subarraymodel.append(temp_model.from_map(k1))
357
443
 
444
+ self.subarray = []
358
445
  if m.get('subarray') is not None:
359
- l1 = 0
360
- self.subarray = []
361
446
  for k1 in m.get('subarray'):
362
447
  temp_model = main_models.M()
363
448
  self.subarray.append(temp_model.from_map(k1))
364
449
 
450
+ self.ssubarray = []
365
451
  if m.get('ssubarray') is not None:
366
- l1 = 0
367
- self.ssubarray = []
368
452
  for k1 in m.get('ssubarray'):
369
- l2 = 0
370
- self.ssubarray = []
371
453
  for k2 in k1:
454
+ l1 = []
372
455
  temp_model = main_models.M()
373
- self.ssubarray.append(temp_model.from_map(k2))
456
+ l1.append(temp_model.from_map(k2))
457
+ self.ssubarray.append(l1)
374
458
 
375
459
  if m.get('ssubmarray') is not None:
376
460
  self.ssubmarray = m.get('ssubmarray')
461
+
462
+ if m.get('sssubmarray') is not None:
463
+ self.sssubmarray = m.get('sssubmarray')
464
+
465
+ self.ssubmmarray = []
377
466
  if m.get('ssubmmarray') is not None:
378
- l1 = 0
379
- self.ssubmmarray = []
380
467
  for k1 in m.get('ssubmmarray'):
381
- l2 = 0
382
- self.ssubmmarray = []
383
468
  for k2 in k1:
469
+ l1 = []
384
470
  temp_model = source_models.Request()
385
- self.ssubmmarray.append(temp_model.from_map(k2))
471
+ l1.append(temp_model.from_map(k2))
472
+ self.ssubmmarray.append(l1)
473
+
474
+ self.sssubmmarray = []
475
+ if m.get('sssubmmarray') is not None:
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)
386
485
 
387
486
  if m.get('maparray') is not None:
388
487
  self.maparray = m.get('maparray')
488
+
389
489
  if m.get('mapsubmarray') is not None:
390
490
  self.mapsubmarray = m.get('mapsubmarray')
491
+
492
+ self.module_model_map = {}
391
493
  if m.get('moduleModelMap') is not None:
392
- self.module_model_map = {}
393
494
  for k1, v1 in m.get('moduleModelMap').items():
394
495
  temp_model = source_models.Request()
395
496
  self.module_model_map[k1] = temp_model.from_map(v1)
396
497
 
498
+ self.arr_module_model_map = []
499
+ if m.get('arrModuleModelMap') is not None:
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
+ self.arrs_module_model_map = []
508
+ if m.get('arrsModuleModelMap') is not None:
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
+ self.sub_model_map = {}
397
520
  if m.get('subModelMap') is not None:
398
- self.sub_model_map = {}
399
521
  for k1, v1 in m.get('subModelMap').items():
400
522
  temp_model = main_models.MSubM()
401
523
  self.sub_model_map[k1] = temp_model.from_map(v1)
402
524
 
525
+ self.model_map = {}
403
526
  if m.get('modelMap') is not None:
404
- self.model_map = {}
405
527
  for k1, v1 in m.get('modelMap').items():
406
528
  temp_model = main_models.M()
407
529
  self.model_map[k1] = temp_model.from_map(v1)
408
530
 
409
531
  if m.get('moduleMap') is not None:
410
532
  self.module_map = m.get('moduleMap')
533
+
411
534
  if m.get('object') is not None:
412
535
  self.object = m.get('object')
536
+
413
537
  if m.get('readable') is not None:
414
538
  self.readable = m.get('readable')
539
+
415
540
  if m.get('writable') is not None:
416
541
  self.writable = m.get('writable')
542
+
417
543
  if m.get('existModel') is not None:
418
544
  temp_model = main_models.M()
419
545
  self.exist_model = temp_model.from_map(m.get('existModel'))
@@ -424,35 +550,51 @@ class MyModel(DaraModel):
424
550
 
425
551
  if m.get('complexList') is not None:
426
552
  self.complex_list = m.get('complexList')
553
+
427
554
  if m.get('numberfield') is not None:
428
555
  self.numberfield = m.get('numberfield')
556
+
429
557
  if m.get('integerField') is not None:
430
558
  self.integer_field = m.get('integerField')
559
+
431
560
  if m.get('floatField') is not None:
432
561
  self.float_field = m.get('floatField')
562
+
433
563
  if m.get('doubleField') is not None:
434
564
  self.double_field = m.get('doubleField')
565
+
435
566
  if m.get('longField') is not None:
436
567
  self.long_field = m.get('longField')
568
+
437
569
  if m.get('ulongField') is not None:
438
570
  self.ulong_field = m.get('ulongField')
571
+
439
572
  if m.get('int8Field') is not None:
440
573
  self.int_8field = m.get('int8Field')
574
+
441
575
  if m.get('int16Field') is not None:
442
576
  self.int_16field = m.get('int16Field')
577
+
443
578
  if m.get('int32Field') is not None:
444
579
  self.int_32field = m.get('int32Field')
580
+
445
581
  if m.get('int64Field') is not None:
446
582
  self.int_64field = m.get('int64Field')
583
+
447
584
  if m.get('uint8Field') is not None:
448
585
  self.uint_8field = m.get('uint8Field')
586
+
449
587
  if m.get('uint16Field') is not None:
450
588
  self.uint_16field = m.get('uint16Field')
589
+
451
590
  if m.get('uint32Field') is not None:
452
591
  self.uint_32field = m.get('uint32Field')
592
+
453
593
  if m.get('uint64Field') is not None:
454
594
  self.uint_64field = m.get('uint64Field')
595
+
455
596
  if m.get('link') is not None:
456
597
  self.link = m.get('link')
598
+
457
599
  return self
458
600
 
@@ -7,7 +7,7 @@ from tea_python_tests import models as main_models
7
7
 
8
8
  class MyModelModel(DaraModel):
9
9
  def __init__(
10
- self, *,
10
+ self,
11
11
  str: str = None,
12
12
  model: main_models.MyModelModelModel = None,
13
13
  ):
@@ -21,13 +21,13 @@ class MyModelModel(DaraModel):
21
21
  self.model.validate()
22
22
 
23
23
  def to_map(self):
24
+ result = dict()
24
25
  _map = super().to_map()
25
26
  if _map is not None:
26
- return _map
27
-
28
- result = dict()
27
+ result = _map
29
28
  if self.str is not None:
30
29
  result['str'] = self.str
30
+
31
31
  if self.model is not None:
32
32
  result['model'] = self.model.to_map()
33
33
 
@@ -37,6 +37,7 @@ class MyModelModel(DaraModel):
37
37
  m = m or dict()
38
38
  if m.get('str') is not None:
39
39
  self.str = m.get('str')
40
+
40
41
  if m.get('model') is not None:
41
42
  temp_model = main_models.MyModelModelModel()
42
43
  self.model = temp_model.from_map(m.get('model'))