@darabonba/python-generator 2.0.1 → 2.0.3

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 (179) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/ChangeLog.md +12 -0
  3. package/lib/generator.js +223 -127
  4. package/lib/helper.js +21 -1
  5. package/package.json +1 -1
  6. package/tests/expected/{python3/model/tea_python_tests/client.py → annotation/tea_python_tests/models/__init__.py} +6 -3
  7. package/tests/expected/annotation/tea_python_tests/{models.py → models/_test.py} +1 -1
  8. package/tests/expected/comment/tea_python_tests/models/__init__.py +15 -0
  9. package/tests/expected/comment/tea_python_tests/models/_test_1.py +91 -0
  10. package/tests/expected/comment/tea_python_tests/models/_test_2.py +55 -0
  11. package/tests/expected/comment/tea_python_tests/models/_test_3.py +61 -0
  12. package/tests/expected/complex/tea_python_tests/client.py +6 -6
  13. package/tests/expected/complex/tea_python_tests/exceptions/__init__.py +13 -0
  14. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +23 -0
  15. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +22 -0
  16. package/tests/expected/complex/tea_python_tests/models/__init__.py +19 -0
  17. package/tests/{output/complex/tea_python_tests/models.py → expected/complex/tea_python_tests/models/_complex_request.py} +22 -151
  18. package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +47 -0
  19. package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +42 -0
  20. package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +33 -0
  21. package/tests/expected/complex/tea_python_tests/models/_response.py +33 -0
  22. package/tests/expected/model/tea_python_tests/exceptions/__init__.py +11 -0
  23. package/tests/expected/model/tea_python_tests/{exceptions.py → exceptions/_main_file.py} +1 -1
  24. package/tests/expected/model/tea_python_tests/models/__init__.py +33 -0
  25. package/tests/expected/model/tea_python_tests/models/_class.py +24 -0
  26. package/tests/expected/model/tea_python_tests/models/_m.py +38 -0
  27. package/tests/expected/model/tea_python_tests/models/_main_file_model.py +45 -0
  28. package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +32 -0
  29. package/tests/expected/model/tea_python_tests/models/_model.py +32 -0
  30. package/tests/expected/model/tea_python_tests/models/_msub_m.py +26 -0
  31. package/tests/expected/model/tea_python_tests/{models.py → models/_my_model.py} +41 -363
  32. package/tests/expected/model/tea_python_tests/models/_my_model_model.py +45 -0
  33. package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +32 -0
  34. package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +24 -0
  35. package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +45 -0
  36. package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +32 -0
  37. package/tests/expected/multi/tea_python_tests/api.py +0 -2
  38. package/tests/expected/multi/tea_python_tests/api_models/__init__.py +11 -0
  39. package/tests/expected/{python3/annotation/tea_python_tests/models.py → multi/tea_python_tests/api_models/_test_model_dir_2.py} +7 -9
  40. package/tests/expected/multi/tea_python_tests/client.py +0 -2
  41. package/tests/expected/multi/tea_python_tests/exceptions/__init__.py +13 -0
  42. package/tests/{output/complex/tea_python_tests/exceptions.py → expected/multi/tea_python_tests/exceptions/_err.py} +10 -11
  43. package/tests/expected/multi/tea_python_tests/model/user_exceptions/__init__.py +15 -0
  44. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +22 -0
  45. package/tests/expected/multi/tea_python_tests/model/{user_exceptions.py → user_exceptions/_err_1.py} +3 -32
  46. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +18 -0
  47. package/tests/expected/multi/tea_python_tests/model/user_models/__init__.py +13 -0
  48. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +72 -0
  49. package/tests/expected/multi/tea_python_tests/model/{user_models.py → user_models/_info.py} +3 -69
  50. package/tests/expected/multi/tea_python_tests/models/__init__.py +13 -0
  51. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +79 -0
  52. package/tests/expected/{python2/empty/tea_python_tests/client.py → typedef/tea_python_tests/models/__init__.py} +9 -3
  53. package/tests/{output/typedef/tea_python_tests/models.py → expected/typedef/tea_python_tests/models/_m.py} +1 -1
  54. package/tests/fixtures/multi/api.dara +4 -0
  55. package/tests/fixtures/multi/main.dara +18 -0
  56. package/tests/main.tests.js +194 -219
  57. package/tests/output/annotation/tea_python_tests/models/__init__.py +11 -0
  58. package/tests/output/annotation/tea_python_tests/{models.py → models/_test.py} +1 -1
  59. package/tests/output/comment/tea_python_tests/models/__init__.py +15 -0
  60. package/tests/output/comment/tea_python_tests/models/_test_1.py +91 -0
  61. package/tests/output/comment/tea_python_tests/models/_test_2.py +55 -0
  62. package/tests/output/comment/tea_python_tests/models/_test_3.py +61 -0
  63. package/tests/output/complex/tea_python_tests/client.py +6 -6
  64. package/tests/output/complex/tea_python_tests/exceptions/__init__.py +13 -0
  65. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +23 -0
  66. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +22 -0
  67. package/tests/output/complex/tea_python_tests/models/__init__.py +19 -0
  68. package/tests/{expected/complex/tea_python_tests/models.py → output/complex/tea_python_tests/models/_complex_request.py} +22 -151
  69. package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +47 -0
  70. package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +42 -0
  71. package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +33 -0
  72. package/tests/output/complex/tea_python_tests/models/_response.py +33 -0
  73. package/tests/output/model/tea_python_tests/exceptions/__init__.py +11 -0
  74. package/tests/output/model/tea_python_tests/{exceptions.py → exceptions/_main_file.py} +1 -1
  75. package/tests/output/model/tea_python_tests/models/__init__.py +33 -0
  76. package/tests/output/model/tea_python_tests/models/_class.py +24 -0
  77. package/tests/output/model/tea_python_tests/models/_m.py +38 -0
  78. package/tests/output/model/tea_python_tests/models/_main_file_model.py +45 -0
  79. package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +32 -0
  80. package/tests/output/model/tea_python_tests/models/_model.py +32 -0
  81. package/tests/output/model/tea_python_tests/models/_msub_m.py +26 -0
  82. package/tests/output/model/tea_python_tests/{models.py → models/_my_model.py} +41 -363
  83. package/tests/output/model/tea_python_tests/models/_my_model_model.py +45 -0
  84. package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +32 -0
  85. package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +24 -0
  86. package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +45 -0
  87. package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +32 -0
  88. package/tests/output/multi/tea_python_tests/api.py +0 -2
  89. package/tests/output/multi/tea_python_tests/api_models/__init__.py +11 -0
  90. package/tests/{expected/python2/annotation/tea_python_tests/models.py → output/multi/tea_python_tests/api_models/_test_model_dir_2.py} +12 -11
  91. package/tests/output/multi/tea_python_tests/client.py +0 -2
  92. package/tests/output/multi/tea_python_tests/exceptions/__init__.py +13 -0
  93. package/tests/{expected/complex/tea_python_tests/exceptions.py → output/multi/tea_python_tests/exceptions/_err.py} +10 -11
  94. package/tests/output/multi/tea_python_tests/model/user_exceptions/__init__.py +15 -0
  95. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +22 -0
  96. package/tests/output/multi/tea_python_tests/model/{user_exceptions.py → user_exceptions/_err_1.py} +3 -32
  97. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +18 -0
  98. package/tests/output/multi/tea_python_tests/model/user_models/__init__.py +13 -0
  99. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +72 -0
  100. package/tests/output/multi/tea_python_tests/model/{user_models.py → user_models/_info.py} +3 -69
  101. package/tests/output/multi/tea_python_tests/models/__init__.py +13 -0
  102. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +79 -0
  103. package/tests/{expected/python2/model/tea_python_tests/client.py → output/typedef/tea_python_tests/models/__init__.py} +9 -3
  104. package/tests/{expected/typedef/tea_python_tests/models.py → output/typedef/tea_python_tests/models/_m.py} +1 -1
  105. package/tests/expected/comment/tea_python_tests/models.py +0 -195
  106. package/tests/expected/python2/alias/setup.py +0 -79
  107. package/tests/expected/python2/alias/tea_python_tests/client.py +0 -23
  108. package/tests/expected/python2/annotation/tea_python_tests/client.py +0 -54
  109. package/tests/expected/python2/api/tea_python_tests/client.py +0 -54
  110. package/tests/expected/python2/comment/tea_python_tests/client.py +0 -188
  111. package/tests/expected/python2/comment/tea_python_tests/models.py +0 -146
  112. package/tests/expected/python2/complex/tea_python_tests/client.py +0 -301
  113. package/tests/expected/python2/complex/tea_python_tests/models.py +0 -315
  114. package/tests/expected/python2/const/tea_python_tests/client.py +0 -14
  115. package/tests/expected/python2/empty/setup.py +0 -76
  116. package/tests/expected/python2/exec/tea_python_tests/exec_client.py +0 -16
  117. package/tests/expected/python2/function/tea_python_tests/client.py +0 -47
  118. package/tests/expected/python2/import/setup.py +0 -85
  119. package/tests/expected/python2/import/tea_python_tests/client.py +0 -24
  120. package/tests/expected/python2/map/tea_python_tests/client.py +0 -19
  121. package/tests/expected/python2/model/tea_python_tests/models.py +0 -575
  122. package/tests/expected/python2/statements/tea_python_tests/client.py +0 -64
  123. package/tests/expected/python2/super/tea_python_tests/client.py +0 -8
  124. package/tests/expected/python2/typedef/setup.py +0 -85
  125. package/tests/expected/python2/typedef/tea_python_tests/client.py +0 -38
  126. package/tests/expected/python2/typedef/tea_python_tests/models.py +0 -35
  127. package/tests/expected/python3/alias/setup.py +0 -77
  128. package/tests/expected/python3/alias/tea_python_tests/client.py +0 -32
  129. package/tests/expected/python3/annotation/tea_python_tests/client.py +0 -88
  130. package/tests/expected/python3/api/tea_python_tests/client.py +0 -92
  131. package/tests/expected/python3/comment/tea_python_tests/__init__.py +0 -1
  132. package/tests/expected/python3/comment/tea_python_tests/client.py +0 -319
  133. package/tests/expected/python3/comment/tea_python_tests/models.py +0 -163
  134. package/tests/expected/python3/complex/tea_python_tests/__init__.py +0 -1
  135. package/tests/expected/python3/complex/tea_python_tests/client.py +0 -514
  136. package/tests/expected/python3/complex/tea_python_tests/models.py +0 -349
  137. package/tests/expected/python3/const/tea_python_tests/__init__.py +0 -1
  138. package/tests/expected/python3/const/tea_python_tests/client.py +0 -9
  139. package/tests/expected/python3/empty/setup.py +0 -74
  140. package/tests/expected/python3/empty/tea_python_tests/__init__.py +0 -1
  141. package/tests/expected/python3/empty/tea_python_tests/client.py +0 -5
  142. package/tests/expected/python3/exec/tea_python_tests/__init__.py +0 -1
  143. package/tests/expected/python3/exec/tea_python_tests/exec_client.py +0 -20
  144. package/tests/expected/python3/function/tea_python_tests/__init__.py +0 -1
  145. package/tests/expected/python3/function/tea_python_tests/client.py +0 -67
  146. package/tests/expected/python3/import/setup.py +0 -77
  147. package/tests/expected/python3/import/tea_python_tests/__init__.py +0 -1
  148. package/tests/expected/python3/import/tea_python_tests/client.py +0 -28
  149. package/tests/expected/python3/map/tea_python_tests/__init__.py +0 -1
  150. package/tests/expected/python3/map/tea_python_tests/client.py +0 -22
  151. package/tests/expected/python3/model/tea_python_tests/__init__.py +0 -1
  152. package/tests/expected/python3/model/tea_python_tests/models.py +0 -631
  153. package/tests/expected/python3/statements/tea_python_tests/__init__.py +0 -1
  154. package/tests/expected/python3/statements/tea_python_tests/client.py +0 -83
  155. package/tests/expected/python3/super/tea_python_tests/__init__.py +0 -1
  156. package/tests/expected/python3/super/tea_python_tests/client.py +0 -13
  157. package/tests/expected/python3/typedef/setup.py +0 -77
  158. package/tests/expected/python3/typedef/tea_python_tests/__init__.py +0 -1
  159. package/tests/expected/python3/typedef/tea_python_tests/client.py +0 -72
  160. package/tests/expected/python3/typedef/tea_python_tests/models.py +0 -39
  161. package/tests/output/comment/tea_python_tests/models.py +0 -195
  162. /package/tests/expected/{python2/alias → multi}/tea_python_tests/__init__.py +0 -0
  163. /package/tests/{expected/python2/annotation → output/alias}/tea_python_tests/__init__.py +0 -0
  164. /package/tests/{expected/python2/api → output/annotation}/tea_python_tests/__init__.py +0 -0
  165. /package/tests/{expected/python2/comment → output/api}/tea_python_tests/__init__.py +0 -0
  166. /package/tests/{expected/python2/complex → output/builtin}/tea_python_tests/__init__.py +0 -0
  167. /package/tests/{expected/python2/const → output/comment}/tea_python_tests/__init__.py +0 -0
  168. /package/tests/{expected/python2/empty → output/complex}/tea_python_tests/__init__.py +0 -0
  169. /package/tests/{expected/python2/exec → output/const}/tea_python_tests/__init__.py +0 -0
  170. /package/tests/{expected/python2/function → output/empty}/tea_python_tests/__init__.py +0 -0
  171. /package/tests/{expected/python2/import → output/exec}/tea_python_tests/__init__.py +0 -0
  172. /package/tests/{expected/python2/map → output/function}/tea_python_tests/__init__.py +0 -0
  173. /package/tests/{expected/python2/model → output/import}/tea_python_tests/__init__.py +0 -0
  174. /package/tests/{expected/python2/statements → output/map}/tea_python_tests/__init__.py +0 -0
  175. /package/tests/{expected/python2/super → output/model}/tea_python_tests/__init__.py +0 -0
  176. /package/tests/{expected/python2/typedef → output/multi}/tea_python_tests/__init__.py +0 -0
  177. /package/tests/{expected/python3/alias → output/statements}/tea_python_tests/__init__.py +0 -0
  178. /package/tests/{expected/python3/annotation → output/super}/tea_python_tests/__init__.py +0 -0
  179. /package/tests/{expected/python3/api → output/typedef}/tea_python_tests/__init__.py +0 -0
@@ -1,631 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # This file is auto-generated, don't edit it. Thanks.
3
- from __future__ import annotations
4
- from Tea.model import TeaModel
5
- from typing import List, Dict, Any, BinaryIO
6
-
7
-
8
- class M(TeaModel):
9
- def __init__(
10
- self,
11
- oneself: 'M' = None,
12
- self_array: List['M'] = None,
13
- self_map: Dict[str, 'M'] = None,
14
- self_array_map: List[Dict[str, 'M']] = None,
15
- self_array_array: List[List['M']] = None,
16
- ):
17
- self.oneself = oneself
18
- self.self_array = self_array
19
- self.self_map = self_map
20
- self.self_array_map = self_array_map
21
- self.self_array_array = self_array_array
22
-
23
- def validate(self):
24
- self.validate_required(self.oneself, 'oneself')
25
- if self.oneself:
26
- self.oneself.validate()
27
- self.validate_required(self.self_array, 'self_array')
28
- if self.self_array:
29
- for k in self.self_array:
30
- if k:
31
- k.validate()
32
- self.validate_required(self.self_map, 'self_map')
33
- if self.self_map:
34
- for v in self.self_map.values():
35
- if v:
36
- v.validate()
37
- self.validate_required(self.self_array_map, 'self_array_map')
38
- self.validate_required(self.self_array_array, 'self_array_array')
39
- if self.self_array_array:
40
- for k in self.self_array_array:
41
- for k1 in k:
42
- if k1:
43
- k1.validate()
44
-
45
- def to_map(self):
46
- _map = super().to_map()
47
- if _map is not None:
48
- return _map
49
-
50
- result = dict()
51
- if self.oneself is not None:
52
- result['oneself'] = self.oneself.to_map()
53
- result['selfArray'] = []
54
- if self.self_array is not None:
55
- for k in self.self_array:
56
- result['selfArray'].append(k.to_map() if k else None)
57
- result['selfMap'] = {}
58
- if self.self_map is not None:
59
- for k, v in self.self_map.items():
60
- result['selfMap'][k] = v.to_map()
61
- result['selfArrayMap'] = []
62
- if self.self_array_map is not None:
63
- for k in self.self_array_map:
64
- d1 = {}
65
- for k1 ,v1 in k.items():
66
- d1[k1] = v1.to_map()
67
- result['selfArrayMap'].append(d1)
68
- result['selfArrayArray'] = []
69
- if self.self_array_array is not None:
70
- for k in self.self_array_array:
71
- l1 = []
72
- for k1 in k:
73
- l1.append(k1.to_map() if k1 else None)
74
- result['selfArrayArray'].append(l1)
75
- return result
76
-
77
- def from_map(self, m: dict = None):
78
- m = m or dict()
79
- if m.get('oneself') is not None:
80
- temp_model = M()
81
- self.oneself = temp_model.from_map(m['oneself'])
82
- self.self_array = []
83
- if m.get('selfArray') is not None:
84
- for k in m.get('selfArray'):
85
- temp_model = M()
86
- self.self_array.append(temp_model.from_map(k))
87
- self.self_map = {}
88
- if m.get('selfMap') is not None:
89
- for k, v in m.get('selfMap').items():
90
- temp_model = M()
91
- self.self_map[k] = temp_model.from_map(v)
92
- self.self_array_map = []
93
- if m.get('selfArrayMap') is not None:
94
- for k in m.get('selfArrayMap'):
95
- d1 = {}
96
- for k1, v1 in k.items():
97
- temp_model = M()
98
- d1[k1] = temp_model.from_map(v1)
99
- self.self_array_map.append(d1)
100
- self.self_array_array = []
101
- if m.get('selfArrayArray') is not None:
102
- for k in m.get('selfArrayArray'):
103
- l1 = []
104
- for k1 in k:
105
- temp_model = M()
106
- l1.append(temp_model.from_map(k1))
107
- self.self_array_array.append(l1)
108
- return self
109
-
110
-
111
- class MyModelSubmodel(TeaModel):
112
- def __init__(
113
- self,
114
- stringfield: str = None,
115
- ):
116
- self.stringfield = stringfield
117
-
118
- def validate(self):
119
- self.validate_required(self.stringfield, 'stringfield')
120
-
121
- def to_map(self):
122
- _map = super().to_map()
123
- if _map is not None:
124
- return _map
125
-
126
- result = dict()
127
- if self.stringfield is not None:
128
- result['stringfield'] = self.stringfield
129
- return result
130
-
131
- def from_map(self, m: dict = None):
132
- m = m or dict()
133
- if m.get('stringfield') is not None:
134
- self.stringfield = m.get('stringfield')
135
- return self
136
-
137
-
138
- class MyModelSubModelModel(TeaModel):
139
- def __init__(
140
- self,
141
- sub_model: List[M] = None,
142
- ):
143
- self.sub_model = sub_model
144
-
145
- def validate(self):
146
- self.validate_required(self.sub_model, 'sub_model')
147
- if self.sub_model:
148
- for k in self.sub_model:
149
- if k:
150
- k.validate()
151
-
152
- def to_map(self):
153
- _map = super().to_map()
154
- if _map is not None:
155
- return _map
156
-
157
- result = dict()
158
- result['subModel'] = []
159
- if self.sub_model is not None:
160
- for k in self.sub_model:
161
- result['subModel'].append(k.to_map() if k else None)
162
- return result
163
-
164
- def from_map(self, m: dict = None):
165
- m = m or dict()
166
- self.sub_model = []
167
- if m.get('subModel') is not None:
168
- for k in m.get('subModel'):
169
- temp_model = M()
170
- self.sub_model.append(temp_model.from_map(k))
171
- return self
172
-
173
-
174
- class MyModel(TeaModel):
175
- def __init__(
176
- self,
177
- stringfield: str = None,
178
- bytesfield: bytes = None,
179
- stringarrayfield: List[str] = None,
180
- mapfield: Dict[str, str] = None,
181
- name: str = None,
182
- submodel: MyModelSubmodel = None,
183
- subarray: List[M] = None,
184
- maparray: List[Dict[str, Any]] = None,
185
- object: dict = None,
186
- numberfield: int = None,
187
- readable: BinaryIO = None,
188
- exist_model: M = None,
189
- class_end_time: str = None,
190
- max_length: str = None,
191
- min_length: str = None,
192
- maximum: int = None,
193
- minimum: int = None,
194
- test_3: List[List[str]] = None,
195
- array_array_model: List[List[M]] = None,
196
- array_map_model: List[Dict[str, M]] = None,
197
- map_model: Dict[str, M] = None,
198
- submodel_map: Dict[str, MyModelSubmodel] = None,
199
- sub_model_model: MyModelSubModelModel = None,
200
- map_array_map: Dict[str, List[Dict[str, str]]] = None,
201
- map_array_model: Dict[str, List[M]] = None,
202
- ):
203
- self.stringfield = stringfield
204
- self.bytesfield = bytesfield
205
- self.stringarrayfield = stringarrayfield
206
- self.mapfield = mapfield
207
- self.name = name
208
- self.submodel = submodel
209
- self.subarray = subarray
210
- self.maparray = maparray
211
- self.object = object
212
- self.numberfield = numberfield
213
- self.readable = readable
214
- self.exist_model = exist_model
215
- # 结束时间
216
- self.class_end_time = class_end_time
217
- # 最大长度
218
- self.max_length = max_length
219
- # 最小长度
220
- self.min_length = min_length
221
- # 校验最大值
222
- self.maximum = maximum
223
- # 校验最小值
224
- self.minimum = minimum
225
- # test3 desc
226
- self.test_3 = test_3
227
- self.array_array_model = array_array_model
228
- self.array_map_model = array_map_model
229
- self.map_model = map_model
230
- self.submodel_map = submodel_map
231
- self.sub_model_model = sub_model_model
232
- self.map_array_map = map_array_map
233
- self.map_array_model = map_array_model
234
-
235
- def validate(self):
236
- self.validate_required(self.stringfield, 'stringfield')
237
- self.validate_required(self.bytesfield, 'bytesfield')
238
- self.validate_required(self.stringarrayfield, 'stringarrayfield')
239
- self.validate_required(self.mapfield, 'mapfield')
240
- self.validate_required(self.name, 'name')
241
- self.validate_required(self.submodel, 'submodel')
242
- if self.submodel:
243
- self.submodel.validate()
244
- self.validate_required(self.subarray, 'subarray')
245
- if self.subarray:
246
- for k in self.subarray:
247
- if k:
248
- k.validate()
249
- self.validate_required(self.maparray, 'maparray')
250
- self.validate_required(self.object, 'object')
251
- self.validate_required(self.numberfield, 'numberfield')
252
- self.validate_required(self.readable, 'readable')
253
- self.validate_required(self.exist_model, 'exist_model')
254
- if self.exist_model:
255
- self.exist_model.validate()
256
- if self.class_end_time is not None:
257
- self.validate_pattern(self.class_end_time, 'class_end_time', '\\d{4}[-]\\d{1,2}[-]\\d{1,2}(\\s\\d{2}:\\d{2}(:\\d{2})?)?')
258
- if self.max_length is not None:
259
- self.validate_max_length(self.max_length, 'max_length', 10)
260
- if self.maximum is not None:
261
- self.validate_maximum(self.maximum, 'maximum', 99000000)
262
- if self.minimum is not None:
263
- self.validate_minimum(self.minimum, 'minimum', 0)
264
- self.validate_required(self.test_3, 'test_3')
265
- self.validate_required(self.array_array_model, 'array_array_model')
266
- if self.array_array_model:
267
- for k in self.array_array_model:
268
- for k1 in k:
269
- if k1:
270
- k1.validate()
271
- self.validate_required(self.array_map_model, 'array_map_model')
272
- self.validate_required(self.map_model, 'map_model')
273
- if self.map_model:
274
- for v in self.map_model.values():
275
- if v:
276
- v.validate()
277
- self.validate_required(self.submodel_map, 'submodel_map')
278
- if self.submodel_map:
279
- for v in self.submodel_map.values():
280
- if v:
281
- v.validate()
282
- self.validate_required(self.sub_model_model, 'sub_model_model')
283
- if self.sub_model_model:
284
- self.sub_model_model.validate()
285
- if self.map_array_model:
286
- for v in self.map_array_model.values():
287
- for k1 in v:
288
- if k1:
289
- k1.validate()
290
-
291
- def to_map(self):
292
- _map = super().to_map()
293
- if _map is not None:
294
- return _map
295
-
296
- result = dict()
297
- if self.stringfield is not None:
298
- result['stringfield'] = self.stringfield
299
- if self.bytesfield is not None:
300
- result['bytesfield'] = self.bytesfield
301
- if self.stringarrayfield is not None:
302
- result['stringarrayfield'] = self.stringarrayfield
303
- if self.mapfield is not None:
304
- result['mapfield'] = self.mapfield
305
- if self.name is not None:
306
- result['realName'] = self.name
307
- if self.submodel is not None:
308
- result['SubModel'] = self.submodel.to_map()
309
- result['SubArray'] = []
310
- if self.subarray is not None:
311
- for k in self.subarray:
312
- result['SubArray'].append(k.to_map() if k else None)
313
- if self.maparray is not None:
314
- result['MapArray'] = self.maparray
315
- if self.object is not None:
316
- result['object'] = self.object
317
- if self.numberfield is not None:
318
- result['numberfield'] = self.numberfield
319
- if self.readable is not None:
320
- result['readable'] = self.readable
321
- if self.exist_model is not None:
322
- result['existModel'] = self.exist_model.to_map()
323
- if self.class_end_time is not None:
324
- result['class_end_time'] = self.class_end_time
325
- if self.max_length is not None:
326
- result['max-length'] = self.max_length
327
- if self.min_length is not None:
328
- result['min-length'] = self.min_length
329
- if self.maximum is not None:
330
- result['maximum'] = self.maximum
331
- if self.minimum is not None:
332
- result['minimum'] = self.minimum
333
- if self.test_3 is not None:
334
- result['test3'] = self.test_3
335
- result['ArrayArrayModel'] = []
336
- if self.array_array_model is not None:
337
- for k in self.array_array_model:
338
- l1 = []
339
- for k1 in k:
340
- l1.append(k1.to_map() if k1 else None)
341
- result['ArrayArrayModel'].append(l1)
342
- result['ArrayMapModel'] = []
343
- if self.array_map_model is not None:
344
- for k in self.array_map_model:
345
- d1 = {}
346
- for k1 ,v1 in k.items():
347
- d1[k1] = v1.to_map()
348
- result['ArrayMapModel'].append(d1)
349
- result['MapModel'] = {}
350
- if self.map_model is not None:
351
- for k, v in self.map_model.items():
352
- result['MapModel'][k] = v.to_map()
353
- result['SubmodelMap'] = {}
354
- if self.submodel_map is not None:
355
- for k, v in self.submodel_map.items():
356
- result['SubmodelMap'][k] = v.to_map()
357
- if self.sub_model_model is not None:
358
- result['SubModelModel'] = self.sub_model_model.to_map()
359
- if self.map_array_map is not None:
360
- result['MapArrayMap'] = self.map_array_map
361
- result['MapArrayModel'] = {}
362
- if self.map_array_model is not None:
363
- for k, v in self.map_array_model.items():
364
- l1 = []
365
- for k1 in v:
366
- l1.append(k1.to_map() if k1 else None)
367
- result['MapArrayModel'][k] = l1
368
- return result
369
-
370
- def from_map(self, m: dict = None):
371
- m = m or dict()
372
- if m.get('stringfield') is not None:
373
- self.stringfield = m.get('stringfield')
374
- if m.get('bytesfield') is not None:
375
- self.bytesfield = m.get('bytesfield')
376
- if m.get('stringarrayfield') is not None:
377
- self.stringarrayfield = m.get('stringarrayfield')
378
- if m.get('mapfield') is not None:
379
- self.mapfield = m.get('mapfield')
380
- if m.get('realName') is not None:
381
- self.name = m.get('realName')
382
- if m.get('SubModel') is not None:
383
- temp_model = MyModelSubmodel()
384
- self.submodel = temp_model.from_map(m['SubModel'])
385
- self.subarray = []
386
- if m.get('SubArray') is not None:
387
- for k in m.get('SubArray'):
388
- temp_model = M()
389
- self.subarray.append(temp_model.from_map(k))
390
- if m.get('MapArray') is not None:
391
- self.maparray = m.get('MapArray')
392
- if m.get('object') is not None:
393
- self.object = m.get('object')
394
- if m.get('numberfield') is not None:
395
- self.numberfield = m.get('numberfield')
396
- if m.get('readable') is not None:
397
- self.readable = m.get('readable')
398
- if m.get('existModel') is not None:
399
- temp_model = M()
400
- self.exist_model = temp_model.from_map(m['existModel'])
401
- if m.get('class_end_time') is not None:
402
- self.class_end_time = m.get('class_end_time')
403
- if m.get('max-length') is not None:
404
- self.max_length = m.get('max-length')
405
- if m.get('min-length') is not None:
406
- self.min_length = m.get('min-length')
407
- if m.get('maximum') is not None:
408
- self.maximum = m.get('maximum')
409
- if m.get('minimum') is not None:
410
- self.minimum = m.get('minimum')
411
- if m.get('test3') is not None:
412
- self.test_3 = m.get('test3')
413
- self.array_array_model = []
414
- if m.get('ArrayArrayModel') is not None:
415
- for k in m.get('ArrayArrayModel'):
416
- l1 = []
417
- for k1 in k:
418
- temp_model = M()
419
- l1.append(temp_model.from_map(k1))
420
- self.array_array_model.append(l1)
421
- self.array_map_model = []
422
- if m.get('ArrayMapModel') is not None:
423
- for k in m.get('ArrayMapModel'):
424
- d1 = {}
425
- for k1, v1 in k.items():
426
- temp_model = M()
427
- d1[k1] = temp_model.from_map(v1)
428
- self.array_map_model.append(d1)
429
- self.map_model = {}
430
- if m.get('MapModel') is not None:
431
- for k, v in m.get('MapModel').items():
432
- temp_model = M()
433
- self.map_model[k] = temp_model.from_map(v)
434
- self.submodel_map = {}
435
- if m.get('SubmodelMap') is not None:
436
- for k, v in m.get('SubmodelMap').items():
437
- temp_model = MyModelSubmodel()
438
- self.submodel_map[k] = temp_model.from_map(v)
439
- if m.get('SubModelModel') is not None:
440
- temp_model = MyModelSubModelModel()
441
- self.sub_model_model = temp_model.from_map(m['SubModelModel'])
442
- if m.get('MapArrayMap') is not None:
443
- self.map_array_map = m.get('MapArrayMap')
444
- self.map_array_model = {}
445
- if m.get('MapArrayModel') is not None:
446
- for k, v in m.get('MapArrayModel').items():
447
- l1 = []
448
- for k1 in v:
449
- temp_model = M()
450
- l1.append(temp_model.from_map(k1))
451
- self.map_array_model['k'] = l1
452
- return self
453
-
454
-
455
- class UseBeforeDefineModelOnSubModel(TeaModel):
456
- def __init__(
457
- self,
458
- m: MyModel = None,
459
- ):
460
- self.m = m
461
-
462
- def validate(self):
463
- self.validate_required(self.m, 'm')
464
- if self.m:
465
- self.m.validate()
466
-
467
- def to_map(self):
468
- _map = super().to_map()
469
- if _map is not None:
470
- return _map
471
-
472
- result = dict()
473
- if self.m is not None:
474
- result['m'] = self.m.to_map()
475
- return result
476
-
477
- def from_map(self, m: dict = None):
478
- m = m or dict()
479
- if m.get('m') is not None:
480
- temp_model = MyModel()
481
- self.m = temp_model.from_map(m['m'])
482
- return self
483
-
484
-
485
- class UseBeforeDefineModelSubModel(TeaModel):
486
- def __init__(
487
- self,
488
- use_before_define_model: UseBeforeDefineModelOnSubModel = None,
489
- ):
490
- self.use_before_define_model = use_before_define_model
491
-
492
- def validate(self):
493
- self.validate_required(self.use_before_define_model, 'use_before_define_model')
494
- if self.use_before_define_model:
495
- self.use_before_define_model.validate()
496
-
497
- def to_map(self):
498
- _map = super().to_map()
499
- if _map is not None:
500
- return _map
501
-
502
- result = dict()
503
- if self.use_before_define_model is not None:
504
- result['useBeforeDefineModel'] = self.use_before_define_model.to_map()
505
- return result
506
-
507
- def from_map(self, m: dict = None):
508
- m = m or dict()
509
- if m.get('useBeforeDefineModel') is not None:
510
- temp_model = UseBeforeDefineModelOnSubModel()
511
- self.use_before_define_model = temp_model.from_map(m['useBeforeDefineModel'])
512
- return self
513
-
514
-
515
- class UseBeforeDefineModel(TeaModel):
516
- def __init__(
517
- self,
518
- sub_model: UseBeforeDefineModelSubModel = None,
519
- ):
520
- self.sub_model = sub_model
521
-
522
- def validate(self):
523
- self.validate_required(self.sub_model, 'sub_model')
524
- if self.sub_model:
525
- self.sub_model.validate()
526
-
527
- def to_map(self):
528
- _map = super().to_map()
529
- if _map is not None:
530
- return _map
531
-
532
- result = dict()
533
- if self.sub_model is not None:
534
- result['subModel'] = self.sub_model.to_map()
535
- return result
536
-
537
- def from_map(self, m: dict = None):
538
- m = m or dict()
539
- if m.get('subModel') is not None:
540
- temp_model = UseBeforeDefineModelSubModel()
541
- self.sub_model = temp_model.from_map(m['subModel'])
542
- return self
543
-
544
-
545
- class NodeChildSubChild(TeaModel):
546
- def __init__(
547
- self,
548
- child_node: Node = None,
549
- ):
550
- self.child_node = child_node
551
-
552
- def validate(self):
553
- if self.child_node:
554
- self.child_node.validate()
555
-
556
- def to_map(self):
557
- _map = super().to_map()
558
- if _map is not None:
559
- return _map
560
-
561
- result = dict()
562
- if self.child_node is not None:
563
- result['childNode'] = self.child_node.to_map()
564
- return result
565
-
566
- def from_map(self, m: dict = None):
567
- m = m or dict()
568
- if m.get('childNode') is not None:
569
- temp_model = Node()
570
- self.child_node = temp_model.from_map(m['childNode'])
571
- return self
572
-
573
-
574
- class NodeChild(TeaModel):
575
- def __init__(
576
- self,
577
- sub_child: NodeChildSubChild = None,
578
- ):
579
- self.sub_child = sub_child
580
-
581
- def validate(self):
582
- if self.sub_child:
583
- self.sub_child.validate()
584
-
585
- def to_map(self):
586
- _map = super().to_map()
587
- if _map is not None:
588
- return _map
589
-
590
- result = dict()
591
- if self.sub_child is not None:
592
- result['subChild'] = self.sub_child.to_map()
593
- return result
594
-
595
- def from_map(self, m: dict = None):
596
- m = m or dict()
597
- if m.get('subChild') is not None:
598
- temp_model = NodeChildSubChild()
599
- self.sub_child = temp_model.from_map(m['subChild'])
600
- return self
601
-
602
-
603
- class Node(TeaModel):
604
- def __init__(
605
- self,
606
- child: NodeChild = None,
607
- ):
608
- self.child = child
609
-
610
- def validate(self):
611
- if self.child:
612
- self.child.validate()
613
-
614
- def to_map(self):
615
- _map = super().to_map()
616
- if _map is not None:
617
- return _map
618
-
619
- result = dict()
620
- if self.child is not None:
621
- result['child'] = self.child.to_map()
622
- return result
623
-
624
- def from_map(self, m: dict = None):
625
- m = m or dict()
626
- if m.get('child') is not None:
627
- temp_model = NodeChild()
628
- self.child = temp_model.from_map(m['child'])
629
- return self
630
-
631
-
@@ -1 +0,0 @@
1
- __version__ = "1.0.0"