@darabonba/python-generator 2.0.1 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/ChangeLog.md +12 -0
  3. package/lib/generator.js +223 -127
  4. package/lib/helper.js +21 -1
  5. package/package.json +1 -1
  6. package/tests/expected/{python3/model/tea_python_tests/client.py → annotation/tea_python_tests/models/__init__.py} +6 -3
  7. package/tests/expected/annotation/tea_python_tests/{models.py → models/_test.py} +1 -1
  8. package/tests/expected/comment/tea_python_tests/models/__init__.py +15 -0
  9. package/tests/expected/comment/tea_python_tests/models/_test_1.py +91 -0
  10. package/tests/expected/comment/tea_python_tests/models/_test_2.py +55 -0
  11. package/tests/expected/comment/tea_python_tests/models/_test_3.py +61 -0
  12. package/tests/expected/complex/tea_python_tests/client.py +6 -6
  13. package/tests/expected/complex/tea_python_tests/exceptions/__init__.py +13 -0
  14. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +23 -0
  15. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +22 -0
  16. package/tests/expected/complex/tea_python_tests/models/__init__.py +19 -0
  17. package/tests/{output/complex/tea_python_tests/models.py → expected/complex/tea_python_tests/models/_complex_request.py} +22 -151
  18. package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +47 -0
  19. package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +42 -0
  20. package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +33 -0
  21. package/tests/expected/complex/tea_python_tests/models/_response.py +33 -0
  22. package/tests/expected/model/tea_python_tests/exceptions/__init__.py +11 -0
  23. package/tests/expected/model/tea_python_tests/{exceptions.py → exceptions/_main_file.py} +1 -1
  24. package/tests/expected/model/tea_python_tests/models/__init__.py +33 -0
  25. package/tests/expected/model/tea_python_tests/models/_class.py +24 -0
  26. package/tests/expected/model/tea_python_tests/models/_m.py +38 -0
  27. package/tests/expected/model/tea_python_tests/models/_main_file_model.py +45 -0
  28. package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +32 -0
  29. package/tests/expected/model/tea_python_tests/models/_model.py +32 -0
  30. package/tests/expected/model/tea_python_tests/models/_msub_m.py +26 -0
  31. package/tests/expected/model/tea_python_tests/{models.py → models/_my_model.py} +41 -363
  32. package/tests/expected/model/tea_python_tests/models/_my_model_model.py +45 -0
  33. package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +32 -0
  34. package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +24 -0
  35. package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +45 -0
  36. package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +32 -0
  37. package/tests/expected/multi/tea_python_tests/api.py +0 -2
  38. package/tests/expected/multi/tea_python_tests/api_models/__init__.py +11 -0
  39. package/tests/expected/{python3/annotation/tea_python_tests/models.py → multi/tea_python_tests/api_models/_test_model_dir_2.py} +7 -9
  40. package/tests/expected/multi/tea_python_tests/client.py +0 -2
  41. package/tests/expected/multi/tea_python_tests/exceptions/__init__.py +13 -0
  42. package/tests/{output/complex/tea_python_tests/exceptions.py → expected/multi/tea_python_tests/exceptions/_err.py} +10 -11
  43. package/tests/expected/multi/tea_python_tests/model/user_exceptions/__init__.py +15 -0
  44. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +22 -0
  45. package/tests/expected/multi/tea_python_tests/model/{user_exceptions.py → user_exceptions/_err_1.py} +3 -32
  46. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +18 -0
  47. package/tests/expected/multi/tea_python_tests/model/user_models/__init__.py +13 -0
  48. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +72 -0
  49. package/tests/expected/multi/tea_python_tests/model/{user_models.py → user_models/_info.py} +3 -69
  50. package/tests/expected/multi/tea_python_tests/models/__init__.py +13 -0
  51. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +79 -0
  52. package/tests/expected/{python2/empty/tea_python_tests/client.py → typedef/tea_python_tests/models/__init__.py} +9 -3
  53. package/tests/{output/typedef/tea_python_tests/models.py → expected/typedef/tea_python_tests/models/_m.py} +1 -1
  54. package/tests/fixtures/multi/api.dara +4 -0
  55. package/tests/fixtures/multi/main.dara +18 -0
  56. package/tests/main.tests.js +194 -219
  57. package/tests/output/annotation/tea_python_tests/models/__init__.py +11 -0
  58. package/tests/output/annotation/tea_python_tests/{models.py → models/_test.py} +1 -1
  59. package/tests/output/comment/tea_python_tests/models/__init__.py +15 -0
  60. package/tests/output/comment/tea_python_tests/models/_test_1.py +91 -0
  61. package/tests/output/comment/tea_python_tests/models/_test_2.py +55 -0
  62. package/tests/output/comment/tea_python_tests/models/_test_3.py +61 -0
  63. package/tests/output/complex/tea_python_tests/client.py +6 -6
  64. package/tests/output/complex/tea_python_tests/exceptions/__init__.py +13 -0
  65. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +23 -0
  66. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +22 -0
  67. package/tests/output/complex/tea_python_tests/models/__init__.py +19 -0
  68. package/tests/{expected/complex/tea_python_tests/models.py → output/complex/tea_python_tests/models/_complex_request.py} +22 -151
  69. package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +47 -0
  70. package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +42 -0
  71. package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +33 -0
  72. package/tests/output/complex/tea_python_tests/models/_response.py +33 -0
  73. package/tests/output/model/tea_python_tests/exceptions/__init__.py +11 -0
  74. package/tests/output/model/tea_python_tests/{exceptions.py → exceptions/_main_file.py} +1 -1
  75. package/tests/output/model/tea_python_tests/models/__init__.py +33 -0
  76. package/tests/output/model/tea_python_tests/models/_class.py +24 -0
  77. package/tests/output/model/tea_python_tests/models/_m.py +38 -0
  78. package/tests/output/model/tea_python_tests/models/_main_file_model.py +45 -0
  79. package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +32 -0
  80. package/tests/output/model/tea_python_tests/models/_model.py +32 -0
  81. package/tests/output/model/tea_python_tests/models/_msub_m.py +26 -0
  82. package/tests/output/model/tea_python_tests/{models.py → models/_my_model.py} +41 -363
  83. package/tests/output/model/tea_python_tests/models/_my_model_model.py +45 -0
  84. package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +32 -0
  85. package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +24 -0
  86. package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +45 -0
  87. package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +32 -0
  88. package/tests/output/multi/tea_python_tests/api.py +0 -2
  89. package/tests/output/multi/tea_python_tests/api_models/__init__.py +11 -0
  90. package/tests/{expected/python2/annotation/tea_python_tests/models.py → output/multi/tea_python_tests/api_models/_test_model_dir_2.py} +12 -11
  91. package/tests/output/multi/tea_python_tests/client.py +0 -2
  92. package/tests/output/multi/tea_python_tests/exceptions/__init__.py +13 -0
  93. package/tests/{expected/complex/tea_python_tests/exceptions.py → output/multi/tea_python_tests/exceptions/_err.py} +10 -11
  94. package/tests/output/multi/tea_python_tests/model/user_exceptions/__init__.py +15 -0
  95. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +22 -0
  96. package/tests/output/multi/tea_python_tests/model/{user_exceptions.py → user_exceptions/_err_1.py} +3 -32
  97. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +18 -0
  98. package/tests/output/multi/tea_python_tests/model/user_models/__init__.py +13 -0
  99. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +72 -0
  100. package/tests/output/multi/tea_python_tests/model/{user_models.py → user_models/_info.py} +3 -69
  101. package/tests/output/multi/tea_python_tests/models/__init__.py +13 -0
  102. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +79 -0
  103. package/tests/{expected/python2/model/tea_python_tests/client.py → output/typedef/tea_python_tests/models/__init__.py} +9 -3
  104. package/tests/{expected/typedef/tea_python_tests/models.py → output/typedef/tea_python_tests/models/_m.py} +1 -1
  105. package/tests/expected/comment/tea_python_tests/models.py +0 -195
  106. package/tests/expected/python2/alias/setup.py +0 -79
  107. package/tests/expected/python2/alias/tea_python_tests/client.py +0 -23
  108. package/tests/expected/python2/annotation/tea_python_tests/client.py +0 -54
  109. package/tests/expected/python2/api/tea_python_tests/client.py +0 -54
  110. package/tests/expected/python2/comment/tea_python_tests/client.py +0 -188
  111. package/tests/expected/python2/comment/tea_python_tests/models.py +0 -146
  112. package/tests/expected/python2/complex/tea_python_tests/client.py +0 -301
  113. package/tests/expected/python2/complex/tea_python_tests/models.py +0 -315
  114. package/tests/expected/python2/const/tea_python_tests/client.py +0 -14
  115. package/tests/expected/python2/empty/setup.py +0 -76
  116. package/tests/expected/python2/exec/tea_python_tests/exec_client.py +0 -16
  117. package/tests/expected/python2/function/tea_python_tests/client.py +0 -47
  118. package/tests/expected/python2/import/setup.py +0 -85
  119. package/tests/expected/python2/import/tea_python_tests/client.py +0 -24
  120. package/tests/expected/python2/map/tea_python_tests/client.py +0 -19
  121. package/tests/expected/python2/model/tea_python_tests/models.py +0 -575
  122. package/tests/expected/python2/statements/tea_python_tests/client.py +0 -64
  123. package/tests/expected/python2/super/tea_python_tests/client.py +0 -8
  124. package/tests/expected/python2/typedef/setup.py +0 -85
  125. package/tests/expected/python2/typedef/tea_python_tests/client.py +0 -38
  126. package/tests/expected/python2/typedef/tea_python_tests/models.py +0 -35
  127. package/tests/expected/python3/alias/setup.py +0 -77
  128. package/tests/expected/python3/alias/tea_python_tests/client.py +0 -32
  129. package/tests/expected/python3/annotation/tea_python_tests/client.py +0 -88
  130. package/tests/expected/python3/api/tea_python_tests/client.py +0 -92
  131. package/tests/expected/python3/comment/tea_python_tests/__init__.py +0 -1
  132. package/tests/expected/python3/comment/tea_python_tests/client.py +0 -319
  133. package/tests/expected/python3/comment/tea_python_tests/models.py +0 -163
  134. package/tests/expected/python3/complex/tea_python_tests/__init__.py +0 -1
  135. package/tests/expected/python3/complex/tea_python_tests/client.py +0 -514
  136. package/tests/expected/python3/complex/tea_python_tests/models.py +0 -349
  137. package/tests/expected/python3/const/tea_python_tests/__init__.py +0 -1
  138. package/tests/expected/python3/const/tea_python_tests/client.py +0 -9
  139. package/tests/expected/python3/empty/setup.py +0 -74
  140. package/tests/expected/python3/empty/tea_python_tests/__init__.py +0 -1
  141. package/tests/expected/python3/empty/tea_python_tests/client.py +0 -5
  142. package/tests/expected/python3/exec/tea_python_tests/__init__.py +0 -1
  143. package/tests/expected/python3/exec/tea_python_tests/exec_client.py +0 -20
  144. package/tests/expected/python3/function/tea_python_tests/__init__.py +0 -1
  145. package/tests/expected/python3/function/tea_python_tests/client.py +0 -67
  146. package/tests/expected/python3/import/setup.py +0 -77
  147. package/tests/expected/python3/import/tea_python_tests/__init__.py +0 -1
  148. package/tests/expected/python3/import/tea_python_tests/client.py +0 -28
  149. package/tests/expected/python3/map/tea_python_tests/__init__.py +0 -1
  150. package/tests/expected/python3/map/tea_python_tests/client.py +0 -22
  151. package/tests/expected/python3/model/tea_python_tests/__init__.py +0 -1
  152. package/tests/expected/python3/model/tea_python_tests/models.py +0 -631
  153. package/tests/expected/python3/statements/tea_python_tests/__init__.py +0 -1
  154. package/tests/expected/python3/statements/tea_python_tests/client.py +0 -83
  155. package/tests/expected/python3/super/tea_python_tests/__init__.py +0 -1
  156. package/tests/expected/python3/super/tea_python_tests/client.py +0 -13
  157. package/tests/expected/python3/typedef/setup.py +0 -77
  158. package/tests/expected/python3/typedef/tea_python_tests/__init__.py +0 -1
  159. package/tests/expected/python3/typedef/tea_python_tests/client.py +0 -72
  160. package/tests/expected/python3/typedef/tea_python_tests/models.py +0 -39
  161. package/tests/output/comment/tea_python_tests/models.py +0 -195
  162. /package/tests/expected/{python2/alias → multi}/tea_python_tests/__init__.py +0 -0
  163. /package/tests/{expected/python2/annotation → output/alias}/tea_python_tests/__init__.py +0 -0
  164. /package/tests/{expected/python2/api → output/annotation}/tea_python_tests/__init__.py +0 -0
  165. /package/tests/{expected/python2/comment → output/api}/tea_python_tests/__init__.py +0 -0
  166. /package/tests/{expected/python2/complex → output/builtin}/tea_python_tests/__init__.py +0 -0
  167. /package/tests/{expected/python2/const → output/comment}/tea_python_tests/__init__.py +0 -0
  168. /package/tests/{expected/python2/empty → output/complex}/tea_python_tests/__init__.py +0 -0
  169. /package/tests/{expected/python2/exec → output/const}/tea_python_tests/__init__.py +0 -0
  170. /package/tests/{expected/python2/function → output/empty}/tea_python_tests/__init__.py +0 -0
  171. /package/tests/{expected/python2/import → output/exec}/tea_python_tests/__init__.py +0 -0
  172. /package/tests/{expected/python2/map → output/function}/tea_python_tests/__init__.py +0 -0
  173. /package/tests/{expected/python2/model → output/import}/tea_python_tests/__init__.py +0 -0
  174. /package/tests/{expected/python2/statements → output/map}/tea_python_tests/__init__.py +0 -0
  175. /package/tests/{expected/python2/super → output/model}/tea_python_tests/__init__.py +0 -0
  176. /package/tests/{expected/python2/typedef → output/multi}/tea_python_tests/__init__.py +0 -0
  177. /package/tests/{expected/python3/alias → output/statements}/tea_python_tests/__init__.py +0 -0
  178. /package/tests/{expected/python3/annotation → output/super}/tea_python_tests/__init__.py +0 -0
  179. /package/tests/{expected/python3/api → output/typedef}/tea_python_tests/__init__.py +0 -0
@@ -0,0 +1,38 @@
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 tea_python_tests import models as main_models
6
+
7
+
8
+ class M(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ sub_m: main_models.MSubM = None,
12
+ ):
13
+ self.sub_m = sub_m
14
+
15
+ def validate(self):
16
+ self.validate_required(self.sub_m, 'sub_m')
17
+ if self.sub_m:
18
+ self.sub_m.validate()
19
+
20
+ def to_map(self):
21
+ _map = super().to_map()
22
+ if _map is not None:
23
+ return _map
24
+
25
+ result = dict()
26
+ if self.sub_m is not None:
27
+ result['subM'] = self.sub_m.to_map()
28
+
29
+ return result
30
+
31
+ def from_map(self, m: dict = None):
32
+ m = m or dict()
33
+ if m.get('subM') is not None:
34
+ temp_model = main_models.MSubM()
35
+ self.sub_m = temp_model.from_map(m.get('subM'))
36
+
37
+ return self
38
+
@@ -0,0 +1,45 @@
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 tea_python_tests import models as main_models
6
+
7
+
8
+ class MainFileModel(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ str: str = None,
12
+ model: main_models.MainFileModelModel = None,
13
+ ):
14
+ self.str = str
15
+ self.model = model
16
+
17
+ def validate(self):
18
+ self.validate_required(self.str, 'str')
19
+ self.validate_required(self.model, 'model')
20
+ if self.model:
21
+ self.model.validate()
22
+
23
+ def to_map(self):
24
+ _map = super().to_map()
25
+ if _map is not None:
26
+ return _map
27
+
28
+ result = dict()
29
+ if self.str is not None:
30
+ result['str'] = self.str
31
+ if self.model is not None:
32
+ result['model'] = self.model.to_map()
33
+
34
+ return result
35
+
36
+ def from_map(self, m: dict = None):
37
+ m = m or dict()
38
+ if m.get('str') is not None:
39
+ self.str = m.get('str')
40
+ if m.get('model') is not None:
41
+ temp_model = main_models.MainFileModelModel()
42
+ self.model = temp_model.from_map(m.get('model'))
43
+
44
+ return self
45
+
@@ -0,0 +1,32 @@
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
+ class MainFileModelModel(DaraModel):
8
+ def __init__(
9
+ self, *,
10
+ str: str = None,
11
+ ):
12
+ self.str = str
13
+
14
+ def validate(self):
15
+ self.validate_required(self.str, 'str')
16
+
17
+ def to_map(self):
18
+ _map = super().to_map()
19
+ if _map is not None:
20
+ return _map
21
+
22
+ result = dict()
23
+ if self.str is not None:
24
+ result['str'] = self.str
25
+ return result
26
+
27
+ def from_map(self, m: dict = None):
28
+ m = m or dict()
29
+ if m.get('str') is not None:
30
+ self.str = m.get('str')
31
+ return self
32
+
@@ -0,0 +1,32 @@
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
+ class Model(DaraModel):
8
+ def __init__(
9
+ self, *,
10
+ str: str = None,
11
+ ):
12
+ self.str = str
13
+
14
+ def validate(self):
15
+ self.validate_required(self.str, 'str')
16
+
17
+ def to_map(self):
18
+ _map = super().to_map()
19
+ if _map is not None:
20
+ return _map
21
+
22
+ result = dict()
23
+ if self.str is not None:
24
+ result['str'] = self.str
25
+ return result
26
+
27
+ def from_map(self, m: dict = None):
28
+ m = m or dict()
29
+ if m.get('str') is not None:
30
+ self.str = m.get('str')
31
+ return self
32
+
@@ -0,0 +1,26 @@
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
+
9
+ class MSubM(DaraModel):
10
+ def __init__(self):
11
+ pass
12
+ def validate(self):
13
+ pass
14
+
15
+ def to_map(self):
16
+ _map = super().to_map()
17
+ if _map is not None:
18
+ return _map
19
+
20
+ result = dict()
21
+ return result
22
+
23
+ def from_map(self, m: dict = None):
24
+ m = m or dict()
25
+ return self
26
+