@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,93 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+ from darabonba.core import DaraCore
5
+ from darabonba.exceptions import UnretryableException
6
+ from darabonba.policy.retry import RetryPolicyContext
7
+ from darabonba.request import DaraRequest
8
+
9
+
10
+ """
11
+ * @remarks
12
+ * top annotation
13
+ """
14
+ class Client:
15
+ _a: str = None
16
+ def __init__(self):
17
+ pass
18
+
19
+ """
20
+ * @remarks
21
+ * testAPI
22
+ """
23
+ def test_api(self) -> None:
24
+ _runtime = {
25
+ }
26
+ _last_request = None
27
+ _last_response = None
28
+ _retries_attempted = 0
29
+ _context = RetryPolicyContext(
30
+ retries_attempted= _retries_attempted
31
+ )
32
+ while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
33
+ if _retries_attempted > 0:
34
+ _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
35
+ if _backoff_time > 0:
36
+ DaraCore.sleep(_backoff_time)
37
+ _retries_attempted = _retries_attempted + 1
38
+ try:
39
+ _request = DaraRequest()
40
+ pass
41
+ _last_request = _request
42
+ _response = DaraCore.do_action(_request, _runtime)
43
+ _last_response = _response
44
+ return
45
+ except Exception as e:
46
+ _context = RetryPolicyContext(
47
+ retries_attempted= _retries_attempted,
48
+ http_request = _last_request,
49
+ http_response = _last_response,
50
+ exception = e
51
+ )
52
+ continue
53
+ raise UnretryableException(_context)
54
+
55
+ async def test_api_async(self) -> None:
56
+ _runtime = {
57
+ }
58
+ _last_request = None
59
+ _last_response = None
60
+ _retries_attempted = 0
61
+ _context = RetryPolicyContext(
62
+ retries_attempted= _retries_attempted
63
+ )
64
+ while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
65
+ if _retries_attempted > 0:
66
+ _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
67
+ if _backoff_time > 0:
68
+ DaraCore.sleep(_backoff_time)
69
+ _retries_attempted = _retries_attempted + 1
70
+ try:
71
+ _request = DaraRequest()
72
+ pass
73
+ _last_request = _request
74
+ _response = await DaraCore.async_do_action(_request, _runtime)
75
+ _last_response = _response
76
+ return
77
+ except Exception as e:
78
+ _context = RetryPolicyContext(
79
+ retries_attempted= _retries_attempted,
80
+ http_request = _last_request,
81
+ http_response = _last_response,
82
+ exception = e
83
+ )
84
+ continue
85
+ raise UnretryableException(_context)
86
+
87
+ @staticmethod
88
+ def test_func() -> None:
89
+ pass
90
+
91
+ @staticmethod
92
+ async def test_func_async() -> None:
93
+ pass
@@ -0,0 +1,37 @@
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
+
6
+
7
+ """
8
+ * @remarks
9
+ * TestModel
10
+ """
11
+ class Test(DaraModel):
12
+ def __init__(
13
+ self,
14
+ test: str = None,
15
+ ):
16
+ # Alichange app id
17
+ self.test = test
18
+
19
+ def validate(self):
20
+ self.validate_required(self.test, 'test')
21
+
22
+ def to_map(self):
23
+ _map = super().to_map()
24
+ if _map is not None:
25
+ return _map
26
+
27
+ result = dict()
28
+ if self.test is not None:
29
+ result['test'] = self.test
30
+ return result
31
+
32
+ def from_map(self, m: dict = None):
33
+ m = m or dict()
34
+ if m.get('test') is not None:
35
+ self.test = m.get('test')
36
+ return self
37
+
@@ -0,0 +1 @@
1
+ __version__ = "1.0.0"
@@ -0,0 +1,106 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+ from darabonba.core import DaraCore
5
+ from darabonba.request import DaraRequest
6
+ from darabonba.exceptions import UnretryableException
7
+ from darabonba.policy.retry import RetryPolicyContext
8
+
9
+
10
+ class Client:
11
+ def __init__(self):
12
+ pass
13
+
14
+ def hello(self) -> None:
15
+ _request = DaraRequest()
16
+ _request.method = 'GET'
17
+ _request.pathname = '/'
18
+ _request.headers = {
19
+ 'host': 'www.test.com'
20
+ }
21
+ _last_request = _request
22
+ _response = DaraCore.do_action(_request)
23
+ return
24
+
25
+ async def hello_async(self) -> None:
26
+ _request = DaraRequest()
27
+ _request.method = 'GET'
28
+ _request.pathname = '/'
29
+ _request.headers = {
30
+ 'host': 'www.test.com'
31
+ }
32
+ _last_request = _request
33
+ _response = await DaraCore.async_do_action(_request)
34
+ return
35
+
36
+ def hello_runtime(self) -> None:
37
+ _runtime = {
38
+ }
39
+ _last_request = None
40
+ _last_response = None
41
+ _retries_attempted = 0
42
+ _context = RetryPolicyContext(
43
+ retries_attempted= _retries_attempted
44
+ )
45
+ while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
46
+ if _retries_attempted > 0:
47
+ _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
48
+ if _backoff_time > 0:
49
+ DaraCore.sleep(_backoff_time)
50
+ _retries_attempted = _retries_attempted + 1
51
+ try:
52
+ _request = DaraRequest()
53
+ _request.method = 'GET'
54
+ _request.pathname = '/'
55
+ _request.headers = {
56
+ 'host': 'www.test.com'
57
+ }
58
+ _last_request = _request
59
+ _response = DaraCore.do_action(_request, _runtime)
60
+ _last_response = _response
61
+ return
62
+ except Exception as e:
63
+ _context = RetryPolicyContext(
64
+ retries_attempted= _retries_attempted,
65
+ http_request = _last_request,
66
+ http_response = _last_response,
67
+ exception = e
68
+ )
69
+ continue
70
+ raise UnretryableException(_context)
71
+
72
+ async def hello_runtime_async(self) -> None:
73
+ _runtime = {
74
+ }
75
+ _last_request = None
76
+ _last_response = None
77
+ _retries_attempted = 0
78
+ _context = RetryPolicyContext(
79
+ retries_attempted= _retries_attempted
80
+ )
81
+ while DaraCore.should_retry(_runtime.get('retryOptions'), _context):
82
+ if _retries_attempted > 0:
83
+ _backoff_time = DaraCore.get_backoff_time(_runtime.get('retryOptions'), _context)
84
+ if _backoff_time > 0:
85
+ DaraCore.sleep(_backoff_time)
86
+ _retries_attempted = _retries_attempted + 1
87
+ try:
88
+ _request = DaraRequest()
89
+ _request.method = 'GET'
90
+ _request.pathname = '/'
91
+ _request.headers = {
92
+ 'host': 'www.test.com'
93
+ }
94
+ _last_request = _request
95
+ _response = await DaraCore.async_do_action(_request, _runtime)
96
+ _last_response = _response
97
+ return
98
+ except Exception as e:
99
+ _context = RetryPolicyContext(
100
+ retries_attempted= _retries_attempted,
101
+ http_request = _last_request,
102
+ http_response = _last_response,
103
+ exception = e
104
+ )
105
+ continue
106
+ raise UnretryableException(_context)