@darabonba/python-generator 1.2.18 → 2.0.0

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 (138) hide show
  1. package/ChangeLog.md +0 -155
  2. package/lib/builtin.js +818 -0
  3. package/lib/generator.js +2704 -0
  4. package/lib/helper.js +422 -0
  5. package/package.json +6 -5
  6. package/src/lib/helper.js +11 -1
  7. package/src/resolver/base.js +3 -1
  8. package/src/resolver/client.js +7 -4
  9. package/src/resolver/model.js +5 -3
  10. package/tests/expected/alias/setup.py +79 -0
  11. package/tests/expected/alias/tea_python_tests/__init__.py +1 -0
  12. package/tests/expected/alias/tea_python_tests/client.py +35 -0
  13. package/tests/expected/annotation/tea_python_tests/__init__.py +1 -0
  14. package/tests/expected/annotation/tea_python_tests/client.py +93 -0
  15. package/tests/expected/annotation/tea_python_tests/models.py +37 -0
  16. package/tests/expected/api/tea_python_tests/__init__.py +1 -0
  17. package/tests/expected/api/tea_python_tests/client.py +106 -0
  18. package/tests/expected/builtin/tea_python_tests/client.py +685 -0
  19. package/tests/expected/comment/tea_python_tests/__init__.py +1 -0
  20. package/tests/expected/comment/tea_python_tests/client.py +288 -0
  21. package/tests/expected/comment/tea_python_tests/models.py +195 -0
  22. package/tests/expected/complex/tea_python_tests/__init__.py +1 -0
  23. package/tests/expected/complex/tea_python_tests/client.py +1168 -0
  24. package/tests/expected/complex/tea_python_tests/exceptions.py +39 -0
  25. package/tests/expected/complex/tea_python_tests/models.py +570 -0
  26. package/tests/expected/const/tea_python_tests/__init__.py +1 -0
  27. package/tests/expected/const/tea_python_tests/client.py +14 -0
  28. package/tests/expected/empty/setup.py +74 -0
  29. package/tests/expected/empty/tea_python_tests/__init__.py +1 -0
  30. package/tests/expected/empty/tea_python_tests/client.py +10 -0
  31. package/tests/expected/exec/tea_python_tests/__init__.py +1 -0
  32. package/tests/expected/exec/tea_python_tests/exec_client.py +21 -0
  33. package/tests/expected/function/tea_python_tests/__init__.py +1 -0
  34. package/tests/expected/function/tea_python_tests/client.py +64 -0
  35. package/tests/expected/import/setup.py +78 -0
  36. package/tests/expected/import/tea_python_tests/__init__.py +1 -0
  37. package/tests/expected/import/tea_python_tests/client.py +29 -0
  38. package/tests/expected/map/tea_python_tests/__init__.py +1 -0
  39. package/tests/expected/map/tea_python_tests/client.py +39 -0
  40. package/tests/expected/model/tea_python_tests/__init__.py +1 -0
  41. package/tests/expected/model/tea_python_tests/client.py +10 -0
  42. package/tests/expected/model/tea_python_tests/exceptions.py +28 -0
  43. package/tests/expected/model/tea_python_tests/models.py +780 -0
  44. package/tests/expected/multi/tea_python_tests/api.py +95 -0
  45. package/tests/expected/multi/tea_python_tests/client.py +40 -0
  46. package/tests/expected/multi/tea_python_tests/lib/util.py +19 -0
  47. package/tests/expected/multi/tea_python_tests/model/user.py +23 -0
  48. package/tests/expected/multi/tea_python_tests/model/user_exceptions.py +83 -0
  49. package/tests/expected/multi/tea_python_tests/model/user_models.py +145 -0
  50. package/tests/expected/python2/function/tea_python_tests/client.py +3 -1
  51. package/tests/expected/python2/model/tea_python_tests/models.py +57 -30
  52. package/tests/expected/python3/function/tea_python_tests/client.py +3 -1
  53. package/tests/expected/python3/model/tea_python_tests/models.py +57 -29
  54. package/tests/expected/statements/tea_python_tests/__init__.py +1 -0
  55. package/tests/expected/statements/tea_python_tests/client.py +86 -0
  56. package/tests/expected/super/tea_python_tests/__init__.py +1 -0
  57. package/tests/expected/super/tea_python_tests/client.py +16 -0
  58. package/tests/expected/typedef/setup.py +77 -0
  59. package/tests/expected/typedef/tea_python_tests/__init__.py +1 -0
  60. package/tests/expected/typedef/tea_python_tests/client.py +74 -0
  61. package/tests/expected/typedef/tea_python_tests/models.py +42 -0
  62. package/tests/fixtures/alias/Darafile +11 -0
  63. package/tests/fixtures/alias/libraries/Alias/Darafile +11 -0
  64. package/tests/fixtures/alias/libraries/Alias-Symbol/Darafile +11 -0
  65. package/tests/fixtures/builtin/Darafile +6 -0
  66. package/tests/fixtures/builtin/main.dara +333 -0
  67. package/tests/fixtures/complex/libraries/import.dara +18 -11
  68. package/tests/fixtures/complex/main.dara +451 -103
  69. package/tests/fixtures/function/main.dara +2 -0
  70. package/tests/fixtures/import/libraries/Darafile +1 -1
  71. package/tests/fixtures/import/pack/Darafile +3 -0
  72. package/tests/fixtures/map/libraries/Darafile +3 -0
  73. package/tests/fixtures/map/libraries/import.dara +4 -0
  74. package/tests/fixtures/map/main.dara +17 -2
  75. package/tests/fixtures/model/.libraries.json +3 -0
  76. package/tests/fixtures/model/Darafile +5 -2
  77. package/tests/fixtures/model/libraries/Darafile +20 -0
  78. package/tests/fixtures/model/libraries/import.dara +27 -0
  79. package/tests/fixtures/model/main.dara +57 -37
  80. package/tests/fixtures/multi/.libraries.json +3 -0
  81. package/tests/fixtures/multi/Darafile +12 -0
  82. package/tests/fixtures/multi/api.dara +20 -0
  83. package/tests/fixtures/multi/lib/util.dara +5 -0
  84. package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/Teafile +62 -0
  85. package/tests/fixtures/multi/libraries/darabonba_Util_0.2.11/main.tea +244 -0
  86. package/tests/fixtures/multi/main.dara +32 -0
  87. package/tests/fixtures/multi/model/user.dara +33 -0
  88. package/tests/{python3.tests.js → main.tests.js} +107 -65
  89. package/tests/output/alias/setup.py +79 -0
  90. package/tests/output/alias/tea_python_tests/client.py +35 -0
  91. package/tests/output/annotation/setup.py +77 -0
  92. package/tests/output/annotation/tea_python_tests/client.py +93 -0
  93. package/tests/output/annotation/tea_python_tests/models.py +37 -0
  94. package/tests/output/api/setup.py +77 -0
  95. package/tests/output/api/tea_python_tests/client.py +106 -0
  96. package/tests/output/builtin/setup.py +77 -0
  97. package/tests/output/builtin/tea_python_tests/client.py +685 -0
  98. package/tests/output/comment/setup.py +77 -0
  99. package/tests/output/comment/tea_python_tests/client.py +288 -0
  100. package/tests/output/comment/tea_python_tests/models.py +195 -0
  101. package/tests/output/complex/setup.py +77 -0
  102. package/tests/output/complex/tea_python_tests/client.py +1168 -0
  103. package/tests/output/complex/tea_python_tests/exceptions.py +39 -0
  104. package/tests/output/complex/tea_python_tests/models.py +570 -0
  105. package/tests/output/const/setup.py +77 -0
  106. package/tests/output/const/tea_python_tests/client.py +14 -0
  107. package/tests/output/empty/setup.py +77 -0
  108. package/tests/output/empty/tea_python_tests/client.py +10 -0
  109. package/tests/output/exec/setup.py +77 -0
  110. package/tests/output/exec/tea_python_tests/exec_client.py +21 -0
  111. package/tests/output/function/setup.py +77 -0
  112. package/tests/output/function/tea_python_tests/client.py +64 -0
  113. package/tests/output/import/setup.py +78 -0
  114. package/tests/output/import/tea_python_tests/client.py +29 -0
  115. package/tests/output/map/setup.py +77 -0
  116. package/tests/output/map/tea_python_tests/client.py +39 -0
  117. package/tests/output/model/setup.py +77 -0
  118. package/tests/output/model/tea_python_tests/client.py +10 -0
  119. package/tests/output/model/tea_python_tests/exceptions.py +28 -0
  120. package/tests/output/model/tea_python_tests/models.py +780 -0
  121. package/tests/output/multi/setup.py +77 -0
  122. package/tests/output/multi/tea_python_tests/api.py +95 -0
  123. package/tests/output/multi/tea_python_tests/client.py +40 -0
  124. package/tests/output/multi/tea_python_tests/lib/util.py +19 -0
  125. package/tests/output/multi/tea_python_tests/model/user.py +23 -0
  126. package/tests/output/multi/tea_python_tests/model/user_exceptions.py +83 -0
  127. package/tests/output/multi/tea_python_tests/model/user_models.py +145 -0
  128. package/tests/output/statements/setup.py +77 -0
  129. package/tests/output/statements/tea_python_tests/client.py +86 -0
  130. package/tests/output/super/setup.py +77 -0
  131. package/tests/output/super/tea_python_tests/client.py +16 -0
  132. package/tests/output/typedef/setup.py +78 -0
  133. package/tests/output/typedef/tea_python_tests/client.py +74 -0
  134. package/tests/output/typedef/tea_python_tests/models.py +42 -0
  135. package/tests/common.tests.js +0 -244
  136. package/tests/lib.tests.js +0 -269
  137. package/tests/python2.tests.js +0 -283
  138. package/tests/resolver.tests.js +0 -434
@@ -0,0 +1,39 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+ from darabonba.exceptions import DaraException
5
+ from typing import Dict
6
+
7
+
8
+ class Err1Exception(DaraException):
9
+ def __init__(
10
+ self,
11
+ message: str = None,
12
+ code: str = None,
13
+ stack: str = None,
14
+ data: Dict[str, str] = None,
15
+ ):
16
+ super().__init__({
17
+ 'message': message,
18
+ 'code': code,
19
+ 'stack': stack,
20
+ })
21
+ self.name = 'Err1Exception'
22
+ self.data = data
23
+
24
+ class Err2Exception(DaraException):
25
+ def __init__(
26
+ self,
27
+ message: str = None,
28
+ code: str = None,
29
+ stack: str = None,
30
+ access_err_message: str = None,
31
+ ):
32
+ super().__init__({
33
+ 'message': message,
34
+ 'code': code,
35
+ 'stack': stack,
36
+ })
37
+ self.name = 'Err2Exception'
38
+ self.access_err_message = access_err_message
39
+
@@ -0,0 +1,570 @@
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 darabonba.request import DaraRequest
6
+ from darabonba.response import DaraResponse
7
+ from Source import models as source_models
8
+ from Source.source_client import SourceClient
9
+ from tea_python_tests import models as main_models
10
+ from typing import List, Dict, BinaryIO, Any
11
+
12
+
13
+
14
+
15
+ class ComplexRequestHeader(DaraModel):
16
+ def __init__(
17
+ self,
18
+ content: str = None,
19
+ ):
20
+ # The ID of the security group to which you want to assign the instance. Instances in the same security group can communicate with each other. The maximum number of instances that a security group can contain depends on the type of the security group. For more information, see the "Security group limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html#SecurityGroupQuota).
21
+ #
22
+ # >Notice: The network type of the new instance must be the same as that of the security group specified by the `SecurityGroupId` parameter. For example, if the specified security group is of the VPC type, the new instance is also of the VPC type and you must specify `VSwitchId`.
23
+ #
24
+ # If you do not use `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template, you must specify SecurityGroupId. Take note of the following items:
25
+ #
26
+ # * You can set `SecurityGroupId` to specify a single security group or set `SecurityGroupIds.N` to specify one or more security groups. However, you cannot specify both `SecurityGroupId` and `SecurityGroupIds.N`.
27
+ # * If `NetworkInterface.N.InstanceType` is set to `Primary`, you cannot specify `SecurityGroupId` or `SecurityGroupIds.N` but can specify `NetworkInterface.N.SecurityGroupId` or `NetworkInterface.N.SecurityGroupIds.N`.
28
+ self.content = content
29
+
30
+ def validate(self):
31
+ self.validate_required(self.content, 'content')
32
+
33
+ def to_map(self):
34
+ _map = super().to_map()
35
+ if _map is not None:
36
+ return _map
37
+
38
+ result = dict()
39
+ if self.content is not None:
40
+ result['Content'] = self.content
41
+ return result
42
+
43
+ def from_map(self, m: dict = None):
44
+ m = m or dict()
45
+ if m.get('Content') is not None:
46
+ self.content = m.get('Content')
47
+ return self
48
+
49
+ class ComplexRequestConfigs(DaraModel):
50
+ def __init__(
51
+ self,
52
+ key: str = None,
53
+ value: List[str] = None,
54
+ extra: Dict[str, str] = None,
55
+ ):
56
+ self.key = key
57
+ self.value = value
58
+ self.extra = extra
59
+
60
+ def validate(self):
61
+ self.validate_required(self.key, 'key')
62
+ self.validate_required(self.value, 'value')
63
+ self.validate_required(self.extra, 'extra')
64
+
65
+ def to_map(self):
66
+ _map = super().to_map()
67
+ if _map is not None:
68
+ return _map
69
+
70
+ result = dict()
71
+ if self.key is not None:
72
+ result['key'] = self.key
73
+ if self.value is not None:
74
+ result['value'] = self.value
75
+ if self.extra is not None:
76
+ result['extra'] = self.extra
77
+ return result
78
+
79
+ def from_map(self, m: dict = None):
80
+ m = m or dict()
81
+ if m.get('key') is not None:
82
+ self.key = m.get('key')
83
+ if m.get('value') is not None:
84
+ self.value = m.get('value')
85
+ if m.get('extra') is not None:
86
+ self.extra = m.get('extra')
87
+ return self
88
+
89
+ class ComplexRequestPart(DaraModel):
90
+ def __init__(
91
+ self,
92
+ part_number: str = None,
93
+ ):
94
+ # PartNumber
95
+ self.part_number = part_number
96
+
97
+ def validate(self):
98
+ pass
99
+
100
+ def to_map(self):
101
+ _map = super().to_map()
102
+ if _map is not None:
103
+ return _map
104
+
105
+ result = dict()
106
+ if self.part_number is not None:
107
+ result['PartNumber'] = self.part_number
108
+ return result
109
+
110
+ def from_map(self, m: dict = None):
111
+ m = m or dict()
112
+ if m.get('PartNumber') is not None:
113
+ self.part_number = m.get('PartNumber')
114
+ return self
115
+
116
+ class ComplexRequest(DaraModel):
117
+ def __init__(
118
+ self,
119
+ access_key: str = None,
120
+ body: BinaryIO = None,
121
+ strs: List[str] = None,
122
+ map_list: List[Dict[str, Any]] = None,
123
+ header: ComplexRequestHeader = None,
124
+ configs: ComplexRequestConfigs = None,
125
+ num: int = None,
126
+ i_64: int = None,
127
+ f_64: float = None,
128
+ b: bool = None,
129
+ f_32: float = None,
130
+ f_64list: List[float] = None,
131
+ float_list: List[float] = None,
132
+ booleant_list: List[bool] = None,
133
+ i_32: int = None,
134
+ string_list: List[str] = None,
135
+ int_list: List[int] = None,
136
+ int_32list: List[int] = None,
137
+ int_16list: List[int] = None,
138
+ int_64list: List[int] = None,
139
+ long_list: List[int] = None,
140
+ uint_64list: List[int] = None,
141
+ uint_32list: List[int] = None,
142
+ uint_16list: List[int] = None,
143
+ u_64: int = None,
144
+ u_32: int = None,
145
+ u_16: int = None,
146
+ obj: dict = None,
147
+ any: Any = None,
148
+ byt: bytes = None,
149
+ req: DaraRequest = None,
150
+ resp: DaraResponse = None,
151
+ map: Dict[str, str] = None,
152
+ num_map: Dict[str, int] = None,
153
+ model_map: Dict[str, source_models.Request] = None,
154
+ request: source_models.Request = None,
155
+ client: SourceClient = None,
156
+ instance: source_models.RequestInstance = None,
157
+ from_: str = None,
158
+ self_: str = None,
159
+ print: str = None,
160
+ exec: str = None,
161
+ str: str = None,
162
+ part: List[ComplexRequestPart] = None,
163
+ ):
164
+ self.access_key = access_key
165
+ # Body
166
+ self.body = body
167
+ # Strs
168
+ self.strs = strs
169
+ # mapList
170
+ self.map_list = map_list
171
+ # header
172
+ self.header = header
173
+ self.configs = configs
174
+ self.num = num
175
+ self.i_64 = i_64
176
+ self.f_64 = f_64
177
+ self.b = b
178
+ self.f_32 = f_32
179
+ self.f_64list = f_64list
180
+ self.float_list = float_list
181
+ self.booleant_list = booleant_list
182
+ self.i_32 = i_32
183
+ self.string_list = string_list
184
+ self.int_list = int_list
185
+ self.int_32list = int_32list
186
+ self.int_16list = int_16list
187
+ self.int_64list = int_64list
188
+ self.long_list = long_list
189
+ self.uint_64list = uint_64list
190
+ self.uint_32list = uint_32list
191
+ self.uint_16list = uint_16list
192
+ self.u_64 = u_64
193
+ self.u_32 = u_32
194
+ self.u_16 = u_16
195
+ self.obj = obj
196
+ self.any = any
197
+ self.byt = byt
198
+ self.req = req
199
+ self.resp = resp
200
+ self.map = map
201
+ self.num_map = num_map
202
+ self.model_map = model_map
203
+ self.request = request
204
+ self.client = client
205
+ self.instance = instance
206
+ # test keywords
207
+ self.from_ = from_
208
+ # test keywords
209
+ self.self_ = self_
210
+ # test keywords
211
+ self.print = print
212
+ # test keywords
213
+ self.exec = exec
214
+ # test keywords
215
+ self.str = str
216
+ # Part
217
+ self.part = part
218
+
219
+ def validate(self):
220
+ self.validate_required(self.access_key, 'access_key')
221
+ self.validate_required(self.body, 'body')
222
+ self.validate_required(self.strs, 'strs')
223
+ self.validate_required(self.map_list, 'map_list')
224
+ self.validate_required(self.header, 'header')
225
+ if self.header:
226
+ self.header.validate()
227
+ self.validate_required(self.configs, 'configs')
228
+ if self.configs:
229
+ self.configs.validate()
230
+ self.validate_required(self.num, 'num')
231
+ self.validate_required(self.i_64, 'i_64')
232
+ self.validate_required(self.f_64, 'f_64')
233
+ self.validate_required(self.b, 'b')
234
+ self.validate_required(self.f_32, 'f_32')
235
+ self.validate_required(self.f_64list, 'f_64list')
236
+ if self.f_64list:
237
+ for k in self.f_64list:
238
+ if k:
239
+ k.validate()
240
+ self.validate_required(self.float_list, 'float_list')
241
+ if self.float_list:
242
+ for k in self.float_list:
243
+ if k:
244
+ k.validate()
245
+ self.validate_required(self.booleant_list, 'booleant_list')
246
+ if self.booleant_list:
247
+ for k in self.booleant_list:
248
+ if k:
249
+ k.validate()
250
+ self.validate_required(self.i_32, 'i_32')
251
+ self.validate_required(self.string_list, 'string_list')
252
+ self.validate_required(self.int_list, 'int_list')
253
+ if self.int_list:
254
+ for k in self.int_list:
255
+ if k:
256
+ k.validate()
257
+ self.validate_required(self.int_32list, 'int_32list')
258
+ if self.int_32list:
259
+ for k in self.int_32list:
260
+ if k:
261
+ k.validate()
262
+ self.validate_required(self.int_16list, 'int_16list')
263
+ if self.int_16list:
264
+ for k in self.int_16list:
265
+ if k:
266
+ k.validate()
267
+ self.validate_required(self.int_64list, 'int_64list')
268
+ if self.int_64list:
269
+ for k in self.int_64list:
270
+ if k:
271
+ k.validate()
272
+ self.validate_required(self.long_list, 'long_list')
273
+ if self.long_list:
274
+ for k in self.long_list:
275
+ if k:
276
+ k.validate()
277
+ self.validate_required(self.uint_64list, 'uint_64list')
278
+ if self.uint_64list:
279
+ for k in self.uint_64list:
280
+ if k:
281
+ k.validate()
282
+ self.validate_required(self.uint_32list, 'uint_32list')
283
+ if self.uint_32list:
284
+ for k in self.uint_32list:
285
+ if k:
286
+ k.validate()
287
+ self.validate_required(self.uint_16list, 'uint_16list')
288
+ if self.uint_16list:
289
+ for k in self.uint_16list:
290
+ if k:
291
+ k.validate()
292
+ self.validate_required(self.u_64, 'u_64')
293
+ self.validate_required(self.u_32, 'u_32')
294
+ self.validate_required(self.u_16, 'u_16')
295
+ self.validate_required(self.obj, 'obj')
296
+ self.validate_required(self.any, 'any')
297
+ self.validate_required(self.byt, 'byt')
298
+ self.validate_required(self.req, 'req')
299
+ self.validate_required(self.resp, 'resp')
300
+ self.validate_required(self.map, 'map')
301
+ self.validate_required(self.num_map, 'num_map')
302
+ if self.num_map:
303
+ for v in self.num_map.values():
304
+ if v:
305
+ v.validate()
306
+ self.validate_required(self.model_map, 'model_map')
307
+ if self.model_map:
308
+ for v in self.model_map.values():
309
+ if v:
310
+ v.validate()
311
+ self.validate_required(self.request, 'request')
312
+ self.validate_required(self.client, 'client')
313
+ self.validate_required(self.instance, 'instance')
314
+ self.validate_required(self.from_, 'from_')
315
+ self.validate_required(self.self_, 'self_')
316
+ self.validate_required(self.print, 'print')
317
+ self.validate_required(self.exec, 'exec')
318
+ self.validate_required(self.str, 'str')
319
+ if self.part:
320
+ for k in self.part:
321
+ if k:
322
+ k.validate()
323
+
324
+ def to_map(self):
325
+ _map = super().to_map()
326
+ if _map is not None:
327
+ return _map
328
+
329
+ result = dict()
330
+ if self.access_key is not None:
331
+ result['accessKey'] = self.access_key
332
+ if self.body is not None:
333
+ result['Body'] = self.body
334
+ if self.strs is not None:
335
+ result['Strs'] = self.strs
336
+ if self.map_list is not None:
337
+ result['mapList'] = self.map_list
338
+ if self.header is not None:
339
+ result['header'] = self.header.to_map()
340
+
341
+ if self.configs is not None:
342
+ result['configs'] = self.configs.to_map()
343
+
344
+ if self.num is not None:
345
+ result['num'] = self.num
346
+ if self.i_64 is not None:
347
+ result['i64'] = self.i_64
348
+ if self.f_64 is not None:
349
+ result['f64'] = self.f_64
350
+ if self.b is not None:
351
+ result['b'] = self.b
352
+ if self.f_32 is not None:
353
+ result['f32'] = self.f_32
354
+ if self.f_64list is not None:
355
+ result['f64List'] = self.f_64list
356
+ if self.float_list is not None:
357
+ result['floatList'] = self.float_list
358
+ if self.booleant_list is not None:
359
+ result['booleantList'] = self.booleant_list
360
+ if self.i_32 is not None:
361
+ result['i32'] = self.i_32
362
+ if self.string_list is not None:
363
+ result['stringList'] = self.string_list
364
+ if self.int_list is not None:
365
+ result['intList'] = self.int_list
366
+ if self.int_32list is not None:
367
+ result['int32List'] = self.int_32list
368
+ if self.int_16list is not None:
369
+ result['int16List'] = self.int_16list
370
+ if self.int_64list is not None:
371
+ result['int64List'] = self.int_64list
372
+ if self.long_list is not None:
373
+ result['longList'] = self.long_list
374
+ if self.uint_64list is not None:
375
+ result['uint64List'] = self.uint_64list
376
+ if self.uint_32list is not None:
377
+ result['uint32List'] = self.uint_32list
378
+ if self.uint_16list is not None:
379
+ result['uint16List'] = self.uint_16list
380
+ if self.u_64 is not None:
381
+ result['u64'] = self.u_64
382
+ if self.u_32 is not None:
383
+ result['u32'] = self.u_32
384
+ if self.u_16 is not None:
385
+ result['u16'] = self.u_16
386
+ if self.obj is not None:
387
+ result['obj'] = self.obj
388
+ if self.any is not None:
389
+ result['any'] = self.any
390
+ if self.byt is not None:
391
+ result['byt'] = self.byt
392
+ if self.req is not None:
393
+ result['req'] = self.req.to_map()
394
+
395
+ if self.resp is not None:
396
+ result['resp'] = self.resp.to_map()
397
+
398
+ if self.map is not None:
399
+ result['map'] = self.map
400
+ if self.num_map is not None:
401
+ result['numMap'] = self.num_map
402
+ if self.model_map is not None:
403
+ result['modelMap'] = {}
404
+ for k1, v1 in k.items():
405
+ result['modelMap'][k1] = v1.to_map() if v1 else None
406
+
407
+
408
+ if self.request is not None:
409
+ result['request'] = self.request.to_map()
410
+
411
+ if self.client is not None:
412
+ result['client'] = self.client
413
+ if self.instance is not None:
414
+ result['instance'] = self.instance.to_map()
415
+
416
+ if self.from_ is not None:
417
+ result['from'] = self.from_
418
+ if self.self_ is not None:
419
+ result['self'] = self.self_
420
+ if self.print is not None:
421
+ result['print'] = self.print
422
+ if self.exec is not None:
423
+ result['exec'] = self.exec
424
+ if self.str is not None:
425
+ result['srt'] = self.str
426
+ if self.part is not None:
427
+ l1 = 0
428
+ result['Part'] = []
429
+ for k1 in self.part:
430
+ l1 += 1
431
+ result['Part'][l1] = k1.to_map() if k1 else None
432
+
433
+
434
+ return result
435
+
436
+ def from_map(self, m: dict = None):
437
+ m = m or dict()
438
+ if m.get('accessKey') is not None:
439
+ self.access_key = m.get('accessKey')
440
+ if m.get('Body') is not None:
441
+ self.body = m.get('Body')
442
+ if m.get('Strs') is not None:
443
+ self.strs = m.get('Strs')
444
+ if m.get('mapList') is not None:
445
+ self.map_list = m.get('mapList')
446
+ if m.get('header') is not None:
447
+ temp_model = ComplexRequestHeader
448
+ self.header = temp_model.from_map(m.get('header'))
449
+
450
+ if m.get('configs') is not None:
451
+ temp_model = ComplexRequestConfigs
452
+ self.configs = temp_model.from_map(m.get('configs'))
453
+
454
+ if m.get('num') is not None:
455
+ self.num = m.get('num')
456
+ if m.get('i64') is not None:
457
+ self.i_64 = m.get('i64')
458
+ if m.get('f64') is not None:
459
+ self.f_64 = m.get('f64')
460
+ if m.get('b') is not None:
461
+ self.b = m.get('b')
462
+ if m.get('f32') is not None:
463
+ self.f_32 = m.get('f32')
464
+ if m.get('f64List') is not None:
465
+ self.f_64list = m.get('f64List')
466
+ if m.get('floatList') is not None:
467
+ self.float_list = m.get('floatList')
468
+ if m.get('booleantList') is not None:
469
+ self.booleant_list = m.get('booleantList')
470
+ if m.get('i32') is not None:
471
+ self.i_32 = m.get('i32')
472
+ if m.get('stringList') is not None:
473
+ self.string_list = m.get('stringList')
474
+ if m.get('intList') is not None:
475
+ self.int_list = m.get('intList')
476
+ if m.get('int32List') is not None:
477
+ self.int_32list = m.get('int32List')
478
+ if m.get('int16List') is not None:
479
+ self.int_16list = m.get('int16List')
480
+ if m.get('int64List') is not None:
481
+ self.int_64list = m.get('int64List')
482
+ if m.get('longList') is not None:
483
+ self.long_list = m.get('longList')
484
+ if m.get('uint64List') is not None:
485
+ self.uint_64list = m.get('uint64List')
486
+ if m.get('uint32List') is not None:
487
+ self.uint_32list = m.get('uint32List')
488
+ if m.get('uint16List') is not None:
489
+ self.uint_16list = m.get('uint16List')
490
+ if m.get('u64') is not None:
491
+ self.u_64 = m.get('u64')
492
+ if m.get('u32') is not None:
493
+ self.u_32 = m.get('u32')
494
+ if m.get('u16') is not None:
495
+ self.u_16 = m.get('u16')
496
+ if m.get('obj') is not None:
497
+ self.obj = m.get('obj')
498
+ if m.get('any') is not None:
499
+ self.any = m.get('any')
500
+ if m.get('byt') is not None:
501
+ self.byt = m.get('byt')
502
+ if m.get('req') is not None:
503
+ self.req = DaraRequest.from_map(m.get('req'))
504
+
505
+ if m.get('resp') is not None:
506
+ self.resp = DaraResponse.from_map(m.get('resp'))
507
+
508
+ if m.get('map') is not None:
509
+ self.map = m.get('map')
510
+ if m.get('numMap') is not None:
511
+ self.num_map = m.get('numMap')
512
+ if m.get('modelMap') is not None:
513
+ self.model_map = {}
514
+ for k1, v1 in m.get('modelMap').items():
515
+ self.model_map[k1] = SourceClient.from_map(v1)
516
+
517
+ if m.get('request') is not None:
518
+ self.request = SourceClient.from_map(m.get('request'))
519
+
520
+ if m.get('client') is not None:
521
+ self.client = m.get('client')
522
+ if m.get('instance') is not None:
523
+ self.instance = SourceClient.from_map(m.get('instance'))
524
+
525
+ if m.get('from') is not None:
526
+ self.from_ = m.get('from')
527
+ if m.get('self') is not None:
528
+ self.self_ = m.get('self')
529
+ if m.get('print') is not None:
530
+ self.print = m.get('print')
531
+ if m.get('exec') is not None:
532
+ self.exec = m.get('exec')
533
+ if m.get('srt') is not None:
534
+ self.str = m.get('srt')
535
+ if m.get('Part') is not None:
536
+ l1 = 0
537
+ self.part = []
538
+ for k1 in m.get('Part'):
539
+ l1 += 1
540
+ temp_model = ComplexRequestPart
541
+ self.part[l1] = temp_model.from_map(k1)
542
+
543
+ return self
544
+
545
+ class Response(DaraModel):
546
+ def __init__(
547
+ self,
548
+ instance: main_models.ComplexRequestPart = None,
549
+ ):
550
+ self.instance = instance
551
+
552
+ def validate(self):
553
+ self.validate_required(self.instance, 'instance')
554
+
555
+ def to_map(self):
556
+ _map = super().to_map()
557
+ if _map is not None:
558
+ return _map
559
+
560
+ result = dict()
561
+ if self.instance is not None:
562
+ result['instance'] = self.instance
563
+ return result
564
+
565
+ def from_map(self, m: dict = None):
566
+ m = m or dict()
567
+ if m.get('instance') is not None:
568
+ self.instance = m.get('instance')
569
+ return self
570
+
@@ -0,0 +1,77 @@
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Licensed to the Apache Software Foundation (ASF) under one
4
+ or more contributor license agreements. See the NOTICE file
5
+ distributed with this work for additional information
6
+ regarding copyright ownership. The ASF licenses this file
7
+ to you under the Apache License, Version 2.0 (the
8
+ "License"); you may not use this file except in compliance
9
+ with the License. You may obtain a copy of the License at
10
+
11
+ http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing,
14
+ software distributed under the License is distributed on an
15
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16
+ KIND, either express or implied. See the License for the
17
+ specific language governing permissions and limitations
18
+ under the License.
19
+ """
20
+
21
+ import os
22
+ from setuptools import setup, find_packages
23
+
24
+ """
25
+ setup module for tea_python_tests.
26
+
27
+ Created on *
28
+
29
+ @author: Alibaba
30
+ """
31
+
32
+ PACKAGE = "tea_python_tests"
33
+ NAME = "tea_python_tests"
34
+ DESCRIPTION = ""
35
+ AUTHOR = "Alibaba"
36
+ AUTHOR_EMAIL = "sdk-team@alibabacloud.com"
37
+ URL = "https://github.com/"
38
+ VERSION = __import__(PACKAGE).__version__
39
+ REQUIRES = [
40
+ "darabonba-core>=1.0.0, <2.0.0",
41
+
42
+ ]
43
+
44
+ LONG_DESCRIPTION = ''
45
+ if os.path.exists('./README.md'):
46
+ with open("README.md", encoding='utf-8') as fp:
47
+ LONG_DESCRIPTION = fp.read()
48
+
49
+ setup(
50
+ name=NAME,
51
+ version=VERSION,
52
+ description=DESCRIPTION,
53
+ long_description=LONG_DESCRIPTION,
54
+ long_description_content_type='text/markdown',
55
+ author=AUTHOR,
56
+ author_email=AUTHOR_EMAIL,
57
+ license="Apache License 2.0",
58
+ url=URL,
59
+ keywords=["tea","python","tests"],
60
+ packages=find_packages(exclude=["tests*"]),
61
+ include_package_data=True,
62
+ platforms="any",
63
+ install_requires=REQUIRES,
64
+ python_requires=">=3.6",
65
+ classifiers=(
66
+ "Development Status :: 4 - Beta",
67
+ "Intended Audience :: Developers",
68
+ "License :: OSI Approved :: Apache Software License",
69
+ "Programming Language :: Python",
70
+ "Programming Language :: Python :: 3",
71
+ "Programming Language :: Python :: 3.6",
72
+ "Programming Language :: Python :: 3.7",
73
+ "Programming Language :: Python :: 3.8",
74
+ "Programming Language :: Python :: 3.9",
75
+ "Topic :: Software Development"
76
+ )
77
+ )
@@ -0,0 +1,14 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+
6
+
7
+ class Client:
8
+
9
+ def __init__(self):
10
+ pass
11
+
12
+ @staticmethod
13
+ def hello() -> str:
14
+ return f"'Hello' {'World!'}"