@darabonba/python-generator 2.0.12 → 2.0.14

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 (124) hide show
  1. package/ChangeLog.md +3 -0
  2. package/lib/generator.js +51 -51
  3. package/lib/helper.js +45 -3
  4. package/package.json +1 -1
  5. package/tests/expected/complex/tea_python_tests/client.py +7 -5
  6. package/tests/expected/function/tea_python_tests/client.py +12 -0
  7. package/tests/expected/model/tea_python_tests/models/_my_model.py +36 -0
  8. package/tests/expected/websocket/tea_python_tests/client.py +20 -0
  9. package/tests/fixtures/complex/Darafile +5 -0
  10. package/tests/fixtures/complex/libraries/Darafile +4 -1
  11. package/tests/fixtures/complex/libraries/import.dara +1 -0
  12. package/tests/fixtures/complex/main.dara +1 -0
  13. package/tests/fixtures/function/Darafile +7 -1
  14. package/tests/fixtures/function/main.dara +8 -0
  15. package/tests/fixtures/model/Darafile +8 -0
  16. package/tests/fixtures/model/main.dara +4 -0
  17. package/tests/fixtures/websocket/.libraries.json +3 -0
  18. package/tests/fixtures/websocket/Darafile +9 -0
  19. package/tests/fixtures/websocket/libraries/alibabacloud_OpenApiV2_0.1.27/Teafile +21 -0
  20. package/tests/fixtures/websocket/libraries/alibabacloud_OpenApiV2_0.1.27/main.tea +1 -0
  21. package/tests/fixtures/websocket/libraries/alibabacloud_OpenApiV2_0.1.27/utils.dara +1 -0
  22. package/tests/fixtures/websocket/libraries/alibabacloud_OpenApiV2_0.1.27/websocketUtils.dara +9 -0
  23. package/tests/fixtures/websocket/main.dara +8 -0
  24. package/tests/main.tests.js +10 -0
  25. package/tests/output/alias/setup.py +0 -83
  26. package/tests/output/alias/tea_python_tests/client.py +0 -35
  27. package/tests/output/annotation/setup.py +0 -79
  28. package/tests/output/annotation/tea_python_tests/__init__.py +0 -1
  29. package/tests/output/annotation/tea_python_tests/client.py +0 -93
  30. package/tests/output/annotation/tea_python_tests/models/__init__.py +0 -9
  31. package/tests/output/annotation/tea_python_tests/models/_test.py +0 -38
  32. package/tests/output/api/setup.py +0 -79
  33. package/tests/output/api/tea_python_tests/__init__.py +0 -1
  34. package/tests/output/api/tea_python_tests/client.py +0 -106
  35. package/tests/output/builtin/setup.py +0 -79
  36. package/tests/output/builtin/tea_python_tests/__init__.py +0 -1
  37. package/tests/output/builtin/tea_python_tests/client.py +0 -687
  38. package/tests/output/comment/setup.py +0 -79
  39. package/tests/output/comment/tea_python_tests/__init__.py +0 -1
  40. package/tests/output/comment/tea_python_tests/client.py +0 -289
  41. package/tests/output/comment/tea_python_tests/models/__init__.py +0 -13
  42. package/tests/output/comment/tea_python_tests/models/_test_1.py +0 -103
  43. package/tests/output/comment/tea_python_tests/models/_test_2.py +0 -58
  44. package/tests/output/comment/tea_python_tests/models/_test_3.py +0 -64
  45. package/tests/output/complex/setup.py +0 -79
  46. package/tests/output/complex/tea_python_tests/__init__.py +0 -1
  47. package/tests/output/complex/tea_python_tests/client.py +0 -1170
  48. package/tests/output/complex/tea_python_tests/exceptions/__init__.py +0 -11
  49. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +0 -24
  50. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +0 -22
  51. package/tests/output/complex/tea_python_tests/models/__init__.py +0 -17
  52. package/tests/output/complex/tea_python_tests/models/_complex_request.py +0 -574
  53. package/tests/output/complex/tea_python_tests/models/_response.py +0 -34
  54. package/tests/output/const/setup.py +0 -79
  55. package/tests/output/const/tea_python_tests/__init__.py +0 -1
  56. package/tests/output/const/tea_python_tests/client.py +0 -12
  57. package/tests/output/empty/setup.py +0 -79
  58. package/tests/output/empty/tea_python_tests/__init__.py +0 -1
  59. package/tests/output/empty/tea_python_tests/client.py +0 -8
  60. package/tests/output/exec/setup.py +0 -79
  61. package/tests/output/exec/tea_python_tests/__init__.py +0 -1
  62. package/tests/output/exec/tea_python_tests/exec_client.py +0 -22
  63. package/tests/output/function/setup.py +0 -79
  64. package/tests/output/function/tea_python_tests/__init__.py +0 -1
  65. package/tests/output/function/tea_python_tests/client.py +0 -65
  66. package/tests/output/import/setup.py +0 -80
  67. package/tests/output/import/tea_python_tests/__init__.py +0 -1
  68. package/tests/output/import/tea_python_tests/client.py +0 -30
  69. package/tests/output/map/setup.py +0 -79
  70. package/tests/output/map/tea_python_tests/__init__.py +0 -1
  71. package/tests/output/map/tea_python_tests/client.py +0 -39
  72. package/tests/output/model/setup.py +0 -79
  73. package/tests/output/model/tea_python_tests/__init__.py +0 -1
  74. package/tests/output/model/tea_python_tests/client.py +0 -8
  75. package/tests/output/model/tea_python_tests/exceptions/__init__.py +0 -9
  76. package/tests/output/model/tea_python_tests/exceptions/_main_file.py +0 -29
  77. package/tests/output/model/tea_python_tests/models/__init__.py +0 -31
  78. package/tests/output/model/tea_python_tests/models/_class.py +0 -23
  79. package/tests/output/model/tea_python_tests/models/_m.py +0 -56
  80. package/tests/output/model/tea_python_tests/models/_main_file.py +0 -73
  81. package/tests/output/model/tea_python_tests/models/_model.py +0 -33
  82. package/tests/output/model/tea_python_tests/models/_my_model.py +0 -750
  83. package/tests/output/modelConfig/setup.py +0 -79
  84. package/tests/output/modelConfig/tea_python_tests/__init__.py +0 -1
  85. package/tests/output/modelConfig/tea_python_tests/client.py +0 -8
  86. package/tests/output/modelConfig/tea_python_tests/exceptions/__init__.py +0 -9
  87. package/tests/output/modelConfig/tea_python_tests/exceptions/_main_file.py +0 -29
  88. package/tests/output/modelConfig/tea_python_tests/models/__init__.py +0 -31
  89. package/tests/output/modelConfig/tea_python_tests/models/_class.py +0 -23
  90. package/tests/output/modelConfig/tea_python_tests/models/_m.py +0 -56
  91. package/tests/output/modelConfig/tea_python_tests/models/_main_file.py +0 -73
  92. package/tests/output/modelConfig/tea_python_tests/models/_model.py +0 -33
  93. package/tests/output/modelConfig/tea_python_tests/models/_my_model.py +0 -750
  94. package/tests/output/multi/setup.py +0 -79
  95. package/tests/output/multi/tea_python_tests/__init__.py +0 -1
  96. package/tests/output/multi/tea_python_tests/api.py +0 -93
  97. package/tests/output/multi/tea_python_tests/api_models/__init__.py +0 -9
  98. package/tests/output/multi/tea_python_tests/api_models/_test_model_dir_2.py +0 -35
  99. package/tests/output/multi/tea_python_tests/client.py +0 -39
  100. package/tests/output/multi/tea_python_tests/exceptions/__init__.py +0 -11
  101. package/tests/output/multi/tea_python_tests/exceptions/_err.py +0 -38
  102. package/tests/output/multi/tea_python_tests/lib/util.py +0 -18
  103. package/tests/output/multi/tea_python_tests/model/user.py +0 -27
  104. package/tests/output/multi/tea_python_tests/model/user_exceptions/__init__.py +0 -13
  105. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +0 -22
  106. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_1.py +0 -54
  107. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +0 -18
  108. package/tests/output/multi/tea_python_tests/model/user_models/__init__.py +0 -11
  109. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +0 -73
  110. package/tests/output/multi/tea_python_tests/model/user_models/_info.py +0 -82
  111. package/tests/output/multi/tea_python_tests/models/__init__.py +0 -11
  112. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +0 -84
  113. package/tests/output/statements/setup.py +0 -79
  114. package/tests/output/statements/tea_python_tests/__init__.py +0 -1
  115. package/tests/output/statements/tea_python_tests/client.py +0 -86
  116. package/tests/output/super/setup.py +0 -79
  117. package/tests/output/super/tea_python_tests/__init__.py +0 -1
  118. package/tests/output/super/tea_python_tests/client.py +0 -16
  119. package/tests/output/typedef/setup.py +0 -80
  120. package/tests/output/typedef/tea_python_tests/__init__.py +0 -1
  121. package/tests/output/typedef/tea_python_tests/client.py +0 -74
  122. package/tests/output/typedef/tea_python_tests/models/__init__.py +0 -9
  123. package/tests/output/typedef/tea_python_tests/models/_m.py +0 -45
  124. /package/tests/{output/alias → expected/websocket}/tea_python_tests/__init__.py +0 -0
@@ -1,1170 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # This file is auto-generated, don't edit it. Thanks.
3
- from __future__ import annotations
4
-
5
- import logging
6
-
7
- from typing import List, Dict, Any
8
-
9
- from darabonba.core import DaraCore
10
- from darabonba.exceptions import DaraException, UnretryableException
11
- from darabonba.policy.retry import RetryPolicyContext
12
- from darabonba.request import DaraRequest
13
- from darabonba.response import DaraResponse
14
- from Source import exceptions as source_exceptions
15
- from Source import models as source_models
16
- from Source.source_client import SourceClient
17
- from tea_python_tests import exceptions as main_exceptions
18
- from tea_python_tests import models as main_models
19
-
20
- class Client(SourceClient):
21
- _protocol: str = None
22
- _pathname: str = None
23
- __strs: List[str] = None
24
- _comple_list: List[List[str]] = None
25
- _endpoint_map: Dict[str, str] = None
26
- _configs: List[source_models.Config] = None
27
-
28
- def __init__(
29
- self,
30
- source_config: source_models.Config,
31
- ):
32
- super().__init__(source_config)
33
- self._configs[0] = source_config
34
- test = SourceClient(source_config)
35
- self.print_data(DaraCore.to_map(source_config), 'test')
36
-
37
- def complex_1(
38
- self,
39
- request: main_models.ComplexRequest,
40
- source_client: SourceClient,
41
- ) -> source_models.RuntimeObject:
42
- _runtime = {
43
- 'timeouted': 'retry',
44
- }
45
- _last_request = None
46
- _last_response = None
47
- _retries_attempted = 0
48
- _context = RetryPolicyContext(
49
- retries_attempted= _retries_attempted
50
- )
51
- while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
52
- if _retries_attempted > 0:
53
- _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
54
- if _backoff_time > 0:
55
- DaraCore.sleep(_backoff_time)
56
- _retries_attempted = _retries_attempted + 1
57
- try:
58
- _request = DaraRequest()
59
- name = 'complex'
60
- read = None
61
- byt = None
62
- module_model_map_val = {}
63
- module_map_val = {}
64
- model_map_val = {}
65
- sub_model_map_val = {}
66
- req_map = None
67
- map_string = {
68
- 'str': request.access_key
69
- }
70
- inte = 1
71
- a = 1
72
- b = None
73
- b = a
74
- c = a
75
- self.int_to_int_32(a)
76
- map_val = {
77
- 'read': read,
78
- 'test': '{"test":"ok"}',
79
- 'b': request.b,
80
- 'num': request.num,
81
- 'u16': request.u_16,
82
- 'u32': request.u_32,
83
- 'u64': request.u_64,
84
- 'u16List': request.uint_16list,
85
- 'u32List': request.uint_32list,
86
- 'u64List': request.uint_64list,
87
- 'i64List': request.int_64list,
88
- 'i16List': request.int_16list,
89
- 'i32List': request.int_32list,
90
- 'intList': request.int_list,
91
- 'stringList': request.string_list,
92
- 'i32': request.i_32,
93
- 'booleantList': request.booleant_list,
94
- 'floatList': request.float_list,
95
- 'float64List': request.f_64list,
96
- 'f32': request.f_32,
97
- 'f64': request.f_64,
98
- 'i64': request.i_64
99
- }
100
- abool = True
101
- req = main_models.ComplexRequest(
102
- b = False,
103
- num = 10,
104
- i_32 = a,
105
- int_list = [
106
- 10,
107
- 11
108
- ],
109
- int_16list = [
110
- 10,
111
- 11
112
- ],
113
- int_32list = [
114
- 10,
115
- 11
116
- ],
117
- int_64list = [
118
- 10,
119
- 11
120
- ],
121
- long_list = [
122
- 10,
123
- 11
124
- ],
125
- float_list = [
126
- 0.1,
127
- 0.2
128
- ],
129
- string_list = [
130
- '10',
131
- '11'
132
- ],
133
- booleant_list = [
134
- True,
135
- False
136
- ]
137
- )
138
- long_list = [
139
- 432435
140
- ]
141
- any_list = [
142
- 432435,
143
- 'str',
144
- True,
145
- 10,
146
- 0.1
147
- ]
148
- float_map = {
149
- 'key1': 0.1,
150
- 'key2': 0.2
151
- }
152
- double_map = {
153
- 'key1': 0.1,
154
- 'key2': 0.2
155
- }
156
- int_map = {
157
- 'key1': 1,
158
- 'key2': 2
159
- }
160
- long_map = {
161
- 'key1': 1,
162
- 'key2': 2
163
- }
164
- int_16map = {
165
- 'key1': 1,
166
- 'key2': 2
167
- }
168
- int_32map = {
169
- 'key1': 1,
170
- 'key2': 2
171
- }
172
- int_64map = {
173
- 'key1': 1,
174
- 'key2': 2
175
- }
176
- any_map = {
177
- 'key1': 0.1,
178
- 'key2': 1,
179
- 'key3': 'test',
180
- 'key4': True,
181
- 'key5': [
182
- 'test',
183
- 1,
184
- True,
185
- [
186
- 'test'
187
- ]
188
- ],
189
- 'key6': [
190
- {
191
- 'a': 'test',
192
- 'b': 1,
193
- 'c': True,
194
- 'd': [
195
- 'test'
196
- ]
197
- }
198
- ]
199
- }
200
- for item_tmp in any_list:
201
- logging.log(logging.INFO, f'{item_tmp}')
202
- for item in [
203
- '1',
204
- '2'
205
- ]:
206
- any_map = {}
207
- any_map[item] = 'test'
208
- break
209
- self.__strs = request.strs
210
- self._protocol = 'test'
211
- self._endpoint_map.get(self._protocol)
212
- self._endpoint_map['test'] = 'ok'
213
- request.strs = self.__strs
214
- _request.protocol = self._protocol
215
- _request.port = request.num
216
- _request.method = 'GET'
217
- _request.pathname = f'/{self._pathname}'
218
- _request.query = {
219
- 'date': '2019',
220
- 'name': _request.method
221
- }
222
- tmp = DaraCore.merge({}, _request.query, _request.headers, _request)
223
- _last_request = _request
224
- _response = DaraCore.do_action(_request, _runtime)
225
- _last_response = _response
226
- if True and True:
227
- return
228
- elif SourceClient.judge_str('test') or False:
229
- return source_models.RuntimeObject()
230
- source_client.print_data_async(DaraCore.to_map(request), '1')
231
- self.hello(DaraCore.to_map(request), [
232
- '1',
233
- '2'
234
- ], None)
235
- self.hello(None, None, None)
236
- return DaraCore.from_map(
237
- source_models.RuntimeObject(),
238
- {}
239
- )
240
- self.complex_3(None, 'test')
241
- return
242
- except Exception as e:
243
- _context = RetryPolicyContext(
244
- retries_attempted= _retries_attempted,
245
- http_request = _last_request,
246
- http_response = _last_response,
247
- exception = e
248
- )
249
- continue
250
- raise UnretryableException(_context)
251
-
252
- async def complex_1_async(
253
- self,
254
- request: main_models.ComplexRequest,
255
- source_client: SourceClient,
256
- ) -> source_models.RuntimeObject:
257
- _runtime = {
258
- 'timeouted': 'retry',
259
- }
260
- _last_request = None
261
- _last_response = None
262
- _retries_attempted = 0
263
- _context = RetryPolicyContext(
264
- retries_attempted= _retries_attempted
265
- )
266
- while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
267
- if _retries_attempted > 0:
268
- _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
269
- if _backoff_time > 0:
270
- DaraCore.sleep(_backoff_time)
271
- _retries_attempted = _retries_attempted + 1
272
- try:
273
- _request = DaraRequest()
274
- name = 'complex'
275
- read = None
276
- byt = None
277
- module_model_map_val = {}
278
- module_map_val = {}
279
- model_map_val = {}
280
- sub_model_map_val = {}
281
- req_map = None
282
- map_string = {
283
- 'str': request.access_key
284
- }
285
- inte = 1
286
- a = 1
287
- b = None
288
- b = a
289
- c = a
290
- self.int_to_int_32(a)
291
- map_val = {
292
- 'read': read,
293
- 'test': '{"test":"ok"}',
294
- 'b': request.b,
295
- 'num': request.num,
296
- 'u16': request.u_16,
297
- 'u32': request.u_32,
298
- 'u64': request.u_64,
299
- 'u16List': request.uint_16list,
300
- 'u32List': request.uint_32list,
301
- 'u64List': request.uint_64list,
302
- 'i64List': request.int_64list,
303
- 'i16List': request.int_16list,
304
- 'i32List': request.int_32list,
305
- 'intList': request.int_list,
306
- 'stringList': request.string_list,
307
- 'i32': request.i_32,
308
- 'booleantList': request.booleant_list,
309
- 'floatList': request.float_list,
310
- 'float64List': request.f_64list,
311
- 'f32': request.f_32,
312
- 'f64': request.f_64,
313
- 'i64': request.i_64
314
- }
315
- abool = True
316
- req = main_models.ComplexRequest(
317
- b = False,
318
- num = 10,
319
- i_32 = a,
320
- int_list = [
321
- 10,
322
- 11
323
- ],
324
- int_16list = [
325
- 10,
326
- 11
327
- ],
328
- int_32list = [
329
- 10,
330
- 11
331
- ],
332
- int_64list = [
333
- 10,
334
- 11
335
- ],
336
- long_list = [
337
- 10,
338
- 11
339
- ],
340
- float_list = [
341
- 0.1,
342
- 0.2
343
- ],
344
- string_list = [
345
- '10',
346
- '11'
347
- ],
348
- booleant_list = [
349
- True,
350
- False
351
- ]
352
- )
353
- long_list = [
354
- 432435
355
- ]
356
- any_list = [
357
- 432435,
358
- 'str',
359
- True,
360
- 10,
361
- 0.1
362
- ]
363
- float_map = {
364
- 'key1': 0.1,
365
- 'key2': 0.2
366
- }
367
- double_map = {
368
- 'key1': 0.1,
369
- 'key2': 0.2
370
- }
371
- int_map = {
372
- 'key1': 1,
373
- 'key2': 2
374
- }
375
- long_map = {
376
- 'key1': 1,
377
- 'key2': 2
378
- }
379
- int_16map = {
380
- 'key1': 1,
381
- 'key2': 2
382
- }
383
- int_32map = {
384
- 'key1': 1,
385
- 'key2': 2
386
- }
387
- int_64map = {
388
- 'key1': 1,
389
- 'key2': 2
390
- }
391
- any_map = {
392
- 'key1': 0.1,
393
- 'key2': 1,
394
- 'key3': 'test',
395
- 'key4': True,
396
- 'key5': [
397
- 'test',
398
- 1,
399
- True,
400
- [
401
- 'test'
402
- ]
403
- ],
404
- 'key6': [
405
- {
406
- 'a': 'test',
407
- 'b': 1,
408
- 'c': True,
409
- 'd': [
410
- 'test'
411
- ]
412
- }
413
- ]
414
- }
415
- for item_tmp in any_list:
416
- logging.log(logging.INFO, f'{item_tmp}')
417
- for item in [
418
- '1',
419
- '2'
420
- ]:
421
- any_map = {}
422
- any_map[item] = 'test'
423
- break
424
- self.__strs = request.strs
425
- self._protocol = 'test'
426
- self._endpoint_map.get(self._protocol)
427
- self._endpoint_map['test'] = 'ok'
428
- request.strs = self.__strs
429
- _request.protocol = self._protocol
430
- _request.port = request.num
431
- _request.method = 'GET'
432
- _request.pathname = f'/{self._pathname}'
433
- _request.query = {
434
- 'date': '2019',
435
- 'name': _request.method
436
- }
437
- tmp = DaraCore.merge({}, _request.query, _request.headers, _request)
438
- _last_request = _request
439
- _response = await DaraCore.async_do_action(_request, _runtime)
440
- _last_response = _response
441
- if True and True:
442
- return
443
- elif SourceClient.judge_str('test') or False:
444
- return source_models.RuntimeObject()
445
- await source_client.print_data_async_async(DaraCore.to_map(request), '1')
446
- await self.hello_async(DaraCore.to_map(request), [
447
- '1',
448
- '2'
449
- ], None)
450
- await self.hello_async(None, None, None)
451
- return DaraCore.from_map(
452
- source_models.RuntimeObject(),
453
- {}
454
- )
455
- await self.complex_3_async(None, 'test')
456
- return
457
- except Exception as e:
458
- _context = RetryPolicyContext(
459
- retries_attempted= _retries_attempted,
460
- http_request = _last_request,
461
- http_response = _last_response,
462
- exception = e
463
- )
464
- continue
465
- raise UnretryableException(_context)
466
-
467
- def complex_2(
468
- self,
469
- request: main_models.ComplexRequest,
470
- str: List[str],
471
- val: Dict[str, str],
472
- ) -> dict:
473
- _request = DaraRequest()
474
- name = 'complex'
475
- config = source_models.Config()
476
- source_client = SourceClient(config)
477
- config_array = [
478
- config
479
- ]
480
- source_client.print_data_sse(DaraCore.to_map(request), '1')
481
- _request.protocol = 'HTTP'
482
- _request.port = 80
483
- _request.method = 'GET'
484
- _request.pathname = '/'
485
- _request.query = {
486
- 'date': '2019',
487
- 'protocol': _request.protocol
488
- }
489
- _last_request = _request
490
- _response = DaraCore.do_action(_request)
491
-
492
- return {}
493
-
494
- async def complex_2_async(
495
- self,
496
- request: main_models.ComplexRequest,
497
- str: List[str],
498
- val: Dict[str, str],
499
- ) -> dict:
500
- _request = DaraRequest()
501
- name = 'complex'
502
- config = source_models.Config()
503
- source_client = SourceClient(config)
504
- config_array = [
505
- config
506
- ]
507
- source_client.print_data_sse_async(DaraCore.to_map(request), '1')
508
- _request.protocol = 'HTTP'
509
- _request.port = 80
510
- _request.method = 'GET'
511
- _request.pathname = '/'
512
- _request.query = {
513
- 'date': '2019',
514
- 'protocol': _request.protocol
515
- }
516
- _last_request = _request
517
- _response = await DaraCore.async_do_action(_request)
518
-
519
- return {}
520
-
521
- def complex_map(self) -> Dict[str, Any]:
522
- _runtime = {
523
- }
524
- _last_request = None
525
- _last_response = None
526
- _retries_attempted = 0
527
- _context = RetryPolicyContext(
528
- retries_attempted= _retries_attempted
529
- )
530
- while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
531
- if _retries_attempted > 0:
532
- _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
533
- if _backoff_time > 0:
534
- DaraCore.sleep(_backoff_time)
535
- _retries_attempted = _retries_attempted + 1
536
- try:
537
- _request = DaraRequest()
538
- pass
539
- _last_request = _request
540
- _response = DaraCore.do_action(_request, _runtime)
541
- _last_response = _response
542
-
543
- return {}
544
- except Exception as e:
545
- _context = RetryPolicyContext(
546
- retries_attempted= _retries_attempted,
547
- http_request = _last_request,
548
- http_response = _last_response,
549
- exception = e
550
- )
551
- continue
552
- raise UnretryableException(_context)
553
-
554
- async def complex_map_async(self) -> Dict[str, Any]:
555
- _runtime = {
556
- }
557
- _last_request = None
558
- _last_response = None
559
- _retries_attempted = 0
560
- _context = RetryPolicyContext(
561
- retries_attempted= _retries_attempted
562
- )
563
- while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
564
- if _retries_attempted > 0:
565
- _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
566
- if _backoff_time > 0:
567
- DaraCore.sleep(_backoff_time)
568
- _retries_attempted = _retries_attempted + 1
569
- try:
570
- _request = DaraRequest()
571
- pass
572
- _last_request = _request
573
- _response = await DaraCore.async_do_action(_request, _runtime)
574
- _last_response = _response
575
-
576
- return {}
577
- except Exception as e:
578
- _context = RetryPolicyContext(
579
- retries_attempted= _retries_attempted,
580
- http_request = _last_request,
581
- http_response = _last_response,
582
- exception = e
583
- )
584
- continue
585
- raise UnretryableException(_context)
586
-
587
- def complex_3(
588
- self,
589
- request: main_models.ComplexRequest,
590
- name: str,
591
- ) -> main_models.ComplexRequest:
592
- _request = DaraRequest()
593
- name = 'complex'
594
- _request.protocol = self.template_string()
595
- _request.port = 80
596
- _request.method = 'GET'
597
- _request.pathname = '/'
598
- _request.body = 'body'
599
- _request.query = {
600
- 'date': '2019'
601
- }
602
- tmp = None
603
- tmp = self.return_model()
604
- name = self._protocol
605
- _last_request = _request
606
- _response = DaraCore.do_action(_request)
607
- x = False
608
- y = True
609
- z = False
610
- if x and y or not z:
611
- x = y
612
- resp = _response
613
- req = source_models.Request(
614
- accesskey = request.access_key,
615
- region = resp.status_message
616
- )
617
- self.array_0(DaraCore.to_map(request))
618
- req.accesskey = 'accesskey'
619
- req.accesskey = request.access_key
620
- self.print_null()
621
- self.throws_func()
622
- _response.status_code
623
- SourceClient.array(DaraCore.to_map(request), '1')
624
- return DaraCore.from_map(
625
- main_models.ComplexRequest(),
626
- DaraCore.merge({}, _request.query)
627
- )
628
-
629
- async def complex_3_async(
630
- self,
631
- request: main_models.ComplexRequest,
632
- name: str,
633
- ) -> main_models.ComplexRequest:
634
- _request = DaraRequest()
635
- name = 'complex'
636
- _request.protocol = await self.template_string_async()
637
- _request.port = 80
638
- _request.method = 'GET'
639
- _request.pathname = '/'
640
- _request.body = 'body'
641
- _request.query = {
642
- 'date': '2019'
643
- }
644
- tmp = None
645
- tmp = self.return_model()
646
- name = self._protocol
647
- _last_request = _request
648
- _response = await DaraCore.async_do_action(_request)
649
- x = False
650
- y = True
651
- z = False
652
- if x and y or not z:
653
- x = y
654
- resp = _response
655
- req = source_models.Request(
656
- accesskey = request.access_key,
657
- region = resp.status_message
658
- )
659
- self.array_0(DaraCore.to_map(request))
660
- req.accesskey = 'accesskey'
661
- req.accesskey = request.access_key
662
- await self.print_null_async()
663
- self.throws_func()
664
- _response.status_code
665
- SourceClient.array(DaraCore.to_map(request), '1')
666
- return DaraCore.from_map(
667
- main_models.ComplexRequest(),
668
- DaraCore.merge({}, _request.query)
669
- )
670
-
671
- def no_return(self) -> None:
672
- _request = DaraRequest()
673
- pass
674
- _last_request = _request
675
- _response = DaraCore.do_action(_request)
676
-
677
- return {}
678
-
679
- async def no_return_async(self) -> None:
680
- _request = DaraRequest()
681
- pass
682
- _last_request = _request
683
- _response = await DaraCore.async_do_action(_request)
684
-
685
- return {}
686
-
687
- def hello(
688
- self,
689
- request: dict,
690
- strs: List[str],
691
- complex_list: List[List[str]],
692
- ) -> List[str]:
693
- a = None
694
- return self.array_1()
695
-
696
- async def hello_async(
697
- self,
698
- request: dict,
699
- strs: List[str],
700
- complex_list: List[List[str]],
701
- ) -> List[str]:
702
- a = None
703
- return self.array_1()
704
-
705
- @staticmethod
706
- def print(
707
- reqeust: DaraRequest,
708
- reqs: List[main_models.ComplexRequest],
709
- response: DaraResponse,
710
- val: Dict[str, str],
711
- ) -> source_models.Request:
712
- raise Exception('Un-implemented')
713
-
714
- @staticmethod
715
- async def print_async(
716
- reqeust: DaraRequest,
717
- reqs: List[main_models.ComplexRequest],
718
- response: DaraResponse,
719
- val: Dict[str, str],
720
- ) -> source_models.Request:
721
- raise Exception('Un-implemented')
722
-
723
- @staticmethod
724
- def int_to_int_32(
725
- a: int,
726
- ) -> None:
727
- raise Exception('Un-implemented')
728
-
729
- @staticmethod
730
- def assign_with_array() -> None:
731
- list = None
732
- list = [
733
- 'test'
734
- ]
735
- str = None
736
- str = Client.throws_func()
737
-
738
- def map_acess(self) -> Any:
739
- tmp = {
740
- 'protocol': self._endpoint_map.get(self._protocol)
741
- }
742
- return
743
-
744
- def expr_func(self) -> List[str]:
745
- if not True:
746
- pass
747
- num = 10
748
- req = main_models.ComplexRequest()
749
- map_val = {
750
- 'num': 10,
751
- 'client': SourceClient,
752
- 'strs': self.array_1(),
753
- 'str': f'string{num}',
754
- 'str1': f'string{req.access_key}'
755
- }
756
- return
757
-
758
- async def expr_func_async(self) -> List[str]:
759
- if not True:
760
- pass
761
- num = 10
762
- req = main_models.ComplexRequest()
763
- map_val = {
764
- 'num': 10,
765
- 'client': SourceClient,
766
- 'strs': self.array_1(),
767
- 'str': f'string{num}',
768
- 'str1': f'string{req.access_key}'
769
- }
770
- return
771
-
772
- @staticmethod
773
- def print_null() -> None:
774
- try :
775
- str = Client.template_string()
776
- except Exception as e :
777
- pass
778
- finally:
779
- final = 'ok'
780
-
781
-
782
- @staticmethod
783
- async def print_null_async() -> None:
784
- try :
785
- str = await Client.template_string_async()
786
- except Exception as e :
787
- pass
788
- finally:
789
- final = 'ok'
790
-
791
-
792
- @staticmethod
793
- def test_try_with_complex_return_type() -> source_models.Request:
794
- try :
795
- str = Client.template_string()
796
- except Exception as e :
797
- pass
798
- finally:
799
- final = 'ok'
800
-
801
- return
802
-
803
- @staticmethod
804
- async def test_try_with_complex_return_type_async() -> source_models.Request:
805
- try :
806
- str = await Client.template_string_async()
807
- except Exception as e :
808
- pass
809
- finally:
810
- final = 'ok'
811
-
812
- return
813
-
814
- @staticmethod
815
- def test_try_with_complex_return_type_with_out_cat() -> source_models.Request:
816
- try :
817
- str = Client.template_string()
818
- except Exception as e :
819
- sim = 'a'
820
- finally:
821
- final = 'ok'
822
-
823
- return
824
-
825
- @staticmethod
826
- async def test_try_with_complex_return_type_with_out_cat_async() -> source_models.Request:
827
- try :
828
- str = await Client.template_string_async()
829
- except Exception as e :
830
- sim = 'a'
831
- finally:
832
- final = 'ok'
833
-
834
- return
835
-
836
- @staticmethod
837
- def array_0(
838
- req: dict,
839
- ) -> List[Any]:
840
- return [ ]
841
-
842
- @staticmethod
843
- def array_1() -> List[str]:
844
- return [
845
- '1'
846
- ]
847
-
848
- def template_string(self) -> str:
849
- return f'/{self._protocol}'
850
-
851
- async def template_string_async(self) -> str:
852
- return f'/{self._protocol}'
853
-
854
- def int_op(
855
- self,
856
- a: int,
857
- ) -> None:
858
- b = a
859
- tmp = {
860
- 'first': a
861
- }
862
- b+= 1
863
- b+= 1
864
- b-= 1
865
- b-= 1
866
- tmp["a"]+= 1
867
- tmp["a"]+= 1
868
- tmp["a"]-= 1
869
- tmp["a"]-= 1
870
-
871
- def throws_func(self) -> str:
872
- return f'/{self._protocol}'
873
-
874
- def throws_func_1(self) -> str:
875
- return ''
876
-
877
- def throws_func_2(self) -> None:
878
- raise DaraException({
879
- 'code': ''
880
- })
881
-
882
- def throws_func_3(self) -> str:
883
- raise DaraException({
884
- 'code': ''
885
- })
886
-
887
- def get_int(
888
- self,
889
- num: int,
890
- ) -> int:
891
- return num
892
-
893
- def return_func(self) -> str:
894
- index = 0
895
- i = self.get_int(index)
896
- return
897
-
898
- def return_func_1(
899
- self,
900
- cfg: source_models.Config,
901
- ) -> SourceClient:
902
- config = source_models.Config()
903
- return SourceClient(config)
904
-
905
- def return_func_2(self) -> Dict[str, Any]:
906
- tmp = {
907
- 'subMap': 'ok'
908
- }
909
- map_val = {
910
- 'test': tmp
911
- }
912
- if SourceClient.judge_str('test'):
913
- return map_val.get('test')
914
- else:
915
- body = None
916
- return DaraCore.merge({
917
- 'body': body,
918
- }, tmp)
919
-
920
-
921
- def return_model(self) -> main_models.ComplexRequest:
922
- return main_models.ComplexRequest()
923
-
924
- def empty_func(self) -> None:
925
- raise Exception('Un-implemented')
926
-
927
- def error(
928
- self,
929
- e: DaraException,
930
- ) -> DaraException:
931
- tmp = None
932
- c = None
933
- return e
934
-
935
- @staticmethod
936
- def array_access() -> str:
937
- configs = [
938
- 'a',
939
- 'b',
940
- 'c'
941
- ]
942
- config = configs[0]
943
- return config
944
-
945
- @staticmethod
946
- def array_access_2() -> str:
947
- data = {
948
- 'configs': [
949
- 'a',
950
- 'b',
951
- 'c'
952
- ]
953
- }
954
- config = data["configs"][0]
955
- return config
956
-
957
- @staticmethod
958
- def array_access_3(
959
- request: main_models.ComplexRequest,
960
- ) -> str:
961
- req = source_models.Request()
962
- Client.array_access_4([
963
- req
964
- ])
965
- config_val = request.configs.value[0]
966
- return config_val
967
-
968
- @staticmethod
969
- def array_access_4(
970
- requests: List[source_models.Request],
971
- ) -> str:
972
- return ''
973
-
974
- @staticmethod
975
- def array_assign(
976
- config: str,
977
- ) -> List[str]:
978
- configs = [
979
- 'a',
980
- 'b',
981
- 'c'
982
- ]
983
- configs[3] = config
984
- return configs
985
-
986
- @staticmethod
987
- def array_assign_2(
988
- config: str,
989
- ) -> List[str]:
990
- data = {
991
- 'configs': [
992
- 'a',
993
- 'b',
994
- 'c'
995
- ]
996
- }
997
- data["configs"][3] = config
998
- return data.get("configs")
999
-
1000
- @staticmethod
1001
- def array_assign_3(
1002
- request: main_models.ComplexRequest,
1003
- config: str,
1004
- ) -> None:
1005
- request.configs.value[0] = config
1006
-
1007
- @staticmethod
1008
- def map_access(
1009
- request: main_models.ComplexRequest,
1010
- ) -> str:
1011
- config_info = request.configs.extra.get('name')
1012
- return config_info
1013
-
1014
- @staticmethod
1015
- def map_access_2(
1016
- request: source_models.Request,
1017
- ) -> str:
1018
- config_info = request.configs.extra.get('name')
1019
- return config_info
1020
-
1021
- @staticmethod
1022
- def map_access_3() -> str:
1023
- data = {
1024
- 'configs': {
1025
- 'value': 'string'
1026
- }
1027
- }
1028
- return data.get("configs").get('value')
1029
-
1030
- @staticmethod
1031
- def map_access_4(
1032
- request: main_models.ComplexRequest,
1033
- ) -> str:
1034
- key = 'name'
1035
- model = request.model_map.get(key)
1036
- config_info = request.configs.extra.get(key)
1037
- return config_info
1038
-
1039
- @staticmethod
1040
- def map_assign(
1041
- request: main_models.ComplexRequest,
1042
- name: str,
1043
- ) -> None:
1044
- request.configs.extra['name'] = name
1045
- key = 'name'
1046
- name = key
1047
- request.configs.extra[key] = name
1048
- name = request.configs.extra.get('name')
1049
- request.map[key] = name
1050
- request.num_map[key] = 1
1051
-
1052
- @staticmethod
1053
- def arrayimport_2(
1054
- request: List[source_models.Request],
1055
- ) -> str:
1056
- return ''
1057
-
1058
- @staticmethod
1059
- def default_return() -> None:
1060
- if True:
1061
- pass
1062
- else:
1063
- pass
1064
-
1065
- @staticmethod
1066
- async def default_return_async() -> None:
1067
- if True:
1068
- pass
1069
- else:
1070
- pass
1071
-
1072
- @staticmethod
1073
- def str_fmt() -> None:
1074
- s = 'strtest'
1075
- s_1 = f' % 1{s}'
1076
- s_2 = f''' "hello" 'world' {s}'''
1077
- s_3 = f'hello world'
1078
- s_4 = f'''{{
1079
- "json": "json val",
1080
- "key": "value"
1081
- }}'''
1082
- s_5 = f' %s str:{s}'
1083
- s_6 = f' %%s str'
1084
- fs_1 = f'{{"key": "{s}"}}'
1085
- fs_2 = f'{{{{"key": "{s}"}}}}'
1086
- fs_3 = f' {s}'
1087
-
1088
- def multi_try_catch(
1089
- self,
1090
- a: int,
1091
- ) -> None:
1092
- try :
1093
- if a > 0:
1094
- raise main_exceptions.Err1Exception(
1095
- name = 'str',
1096
- code = 'str',
1097
- data = {
1098
- 'key1': 'str'
1099
- }
1100
- )
1101
- elif a == 0:
1102
- raise main_exceptions.Err2Exception(
1103
- name = 'str',
1104
- code = 'str',
1105
- access_err_message = 'str2'
1106
- )
1107
- elif a == -10:
1108
- raise source_exceptions.Err3Exception(
1109
- name = 'str',
1110
- code = 'str'
1111
- )
1112
- else:
1113
- raise DaraException(
1114
- name = 'str',
1115
- code = 'str'
1116
- )
1117
-
1118
- except main_exceptions.Err1Exception as err1 :
1119
- logging.log(logging.NOTSET, err_1.name)
1120
- except main_exceptions.Err2Exception as err2 :
1121
- logging.log(logging.NOTSET, err_2.name)
1122
- except source_exceptions.Err3Exception as err3 :
1123
- logging.log(logging.NOTSET, err_3.name)
1124
- except Exception as err :
1125
- logging.log(logging.NOTSET, err.name)
1126
- finally:
1127
- final = 'ok'
1128
-
1129
-
1130
- async def multi_try_catch_async(
1131
- self,
1132
- a: int,
1133
- ) -> None:
1134
- try :
1135
- if a > 0:
1136
- raise main_exceptions.Err1Exception(
1137
- name = 'str',
1138
- code = 'str',
1139
- data = {
1140
- 'key1': 'str'
1141
- }
1142
- )
1143
- elif a == 0:
1144
- raise main_exceptions.Err2Exception(
1145
- name = 'str',
1146
- code = 'str',
1147
- access_err_message = 'str2'
1148
- )
1149
- elif a == -10:
1150
- raise source_exceptions.Err3Exception(
1151
- name = 'str',
1152
- code = 'str'
1153
- )
1154
- else:
1155
- raise DaraException(
1156
- name = 'str',
1157
- code = 'str'
1158
- )
1159
-
1160
- except main_exceptions.Err1Exception as err1 :
1161
- logging.log(logging.NOTSET, err_1.name)
1162
- except main_exceptions.Err2Exception as err2 :
1163
- logging.log(logging.NOTSET, err_2.name)
1164
- except source_exceptions.Err3Exception as err3 :
1165
- logging.log(logging.NOTSET, err_3.name)
1166
- except Exception as err :
1167
- logging.log(logging.NOTSET, err.name)
1168
- finally:
1169
- final = 'ok'
1170
-