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