@darabonba/python-generator 2.0.2 → 2.0.4

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 (182) hide show
  1. package/.github/workflows/ci.yml +1 -1
  2. package/ChangeLog.md +15 -0
  3. package/lib/builtin.js +6 -12
  4. package/lib/generator.js +195 -109
  5. package/lib/helper.js +21 -1
  6. package/package.json +1 -1
  7. package/tests/expected/{python3/model/tea_python_tests/client.py → annotation/tea_python_tests/models/__init__.py} +6 -3
  8. package/tests/expected/annotation/tea_python_tests/{models.py → models/_test.py} +1 -1
  9. package/tests/expected/builtin/tea_python_tests/client.py +5 -5
  10. package/tests/expected/comment/tea_python_tests/models/__init__.py +15 -0
  11. package/tests/expected/comment/tea_python_tests/models/_test_1.py +91 -0
  12. package/tests/expected/comment/tea_python_tests/models/_test_2.py +55 -0
  13. package/tests/expected/comment/tea_python_tests/models/_test_3.py +61 -0
  14. package/tests/expected/complex/tea_python_tests/client.py +6 -6
  15. package/tests/expected/complex/tea_python_tests/exceptions/__init__.py +13 -0
  16. package/tests/expected/complex/tea_python_tests/exceptions/_err_1.py +23 -0
  17. package/tests/expected/complex/tea_python_tests/exceptions/_err_2.py +22 -0
  18. package/tests/expected/complex/tea_python_tests/models/__init__.py +19 -0
  19. package/tests/{output/complex/tea_python_tests/models.py → expected/complex/tea_python_tests/models/_complex_request.py} +12 -141
  20. package/tests/expected/complex/tea_python_tests/models/_complex_request_configs.py +47 -0
  21. package/tests/expected/complex/tea_python_tests/models/_complex_request_header.py +42 -0
  22. package/tests/expected/complex/tea_python_tests/models/_complex_request_part.py +33 -0
  23. package/tests/expected/complex/tea_python_tests/models/_response.py +33 -0
  24. package/tests/expected/model/tea_python_tests/exceptions/__init__.py +11 -0
  25. package/tests/expected/model/tea_python_tests/{exceptions.py → exceptions/_main_file.py} +1 -1
  26. package/tests/expected/model/tea_python_tests/models/__init__.py +33 -0
  27. package/tests/expected/model/tea_python_tests/models/_class.py +24 -0
  28. package/tests/expected/model/tea_python_tests/models/_m.py +38 -0
  29. package/tests/expected/model/tea_python_tests/models/_main_file_model.py +45 -0
  30. package/tests/expected/model/tea_python_tests/models/_main_file_model_model.py +32 -0
  31. package/tests/expected/model/tea_python_tests/models/_model.py +32 -0
  32. package/tests/expected/model/tea_python_tests/models/_msub_m.py +26 -0
  33. package/tests/expected/model/tea_python_tests/{models.py → models/_my_model.py} +16 -321
  34. package/tests/expected/model/tea_python_tests/models/_my_model_model.py +45 -0
  35. package/tests/expected/model/tea_python_tests/models/_my_model_model_model.py +32 -0
  36. package/tests/expected/model/tea_python_tests/models/_my_model_subarraymodel.py +24 -0
  37. package/tests/expected/model/tea_python_tests/models/_my_model_submodel.py +45 -0
  38. package/tests/expected/model/tea_python_tests/models/_my_model_submodel_model.py +32 -0
  39. package/tests/expected/multi/tea_python_tests/api.py +0 -2
  40. package/tests/expected/multi/tea_python_tests/api_models/__init__.py +11 -0
  41. package/tests/expected/{python3/annotation/tea_python_tests/models.py → multi/tea_python_tests/api_models/_test_model_dir_2.py} +7 -9
  42. package/tests/expected/multi/tea_python_tests/client.py +0 -2
  43. package/tests/expected/multi/tea_python_tests/exceptions/__init__.py +13 -0
  44. package/tests/{output/complex/tea_python_tests/exceptions.py → expected/multi/tea_python_tests/exceptions/_err.py} +10 -11
  45. package/tests/expected/multi/tea_python_tests/model/user_exceptions/__init__.py +15 -0
  46. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err.py +22 -0
  47. package/tests/expected/multi/tea_python_tests/model/{user_exceptions.py → user_exceptions/_err_1.py} +3 -32
  48. package/tests/expected/multi/tea_python_tests/model/user_exceptions/_err_2.py +18 -0
  49. package/tests/expected/multi/tea_python_tests/model/user_models/__init__.py +13 -0
  50. package/tests/expected/multi/tea_python_tests/model/user_models/_base_info.py +72 -0
  51. package/tests/expected/multi/tea_python_tests/model/{user_models.py → user_models/_info.py} +3 -69
  52. package/tests/expected/multi/tea_python_tests/models/__init__.py +13 -0
  53. package/tests/expected/multi/tea_python_tests/models/_test_model_dir.py +79 -0
  54. package/tests/expected/{python2/empty/tea_python_tests/client.py → typedef/tea_python_tests/models/__init__.py} +9 -3
  55. package/tests/{output/typedef/tea_python_tests/models.py → expected/typedef/tea_python_tests/models/_m.py} +1 -1
  56. package/tests/fixtures/multi/api.dara +4 -0
  57. package/tests/fixtures/multi/main.dara +18 -0
  58. package/tests/main.tests.js +194 -219
  59. package/tests/output/annotation/tea_python_tests/models/__init__.py +11 -0
  60. package/tests/output/annotation/tea_python_tests/{models.py → models/_test.py} +1 -1
  61. package/tests/output/builtin/tea_python_tests/client.py +5 -5
  62. package/tests/output/comment/tea_python_tests/models/__init__.py +15 -0
  63. package/tests/output/comment/tea_python_tests/models/_test_1.py +91 -0
  64. package/tests/output/comment/tea_python_tests/models/_test_2.py +55 -0
  65. package/tests/output/comment/tea_python_tests/models/_test_3.py +61 -0
  66. package/tests/output/complex/tea_python_tests/client.py +6 -6
  67. package/tests/output/complex/tea_python_tests/exceptions/__init__.py +13 -0
  68. package/tests/output/complex/tea_python_tests/exceptions/_err_1.py +23 -0
  69. package/tests/output/complex/tea_python_tests/exceptions/_err_2.py +22 -0
  70. package/tests/output/complex/tea_python_tests/models/__init__.py +19 -0
  71. package/tests/{expected/complex/tea_python_tests/models.py → output/complex/tea_python_tests/models/_complex_request.py} +12 -141
  72. package/tests/output/complex/tea_python_tests/models/_complex_request_configs.py +47 -0
  73. package/tests/output/complex/tea_python_tests/models/_complex_request_header.py +42 -0
  74. package/tests/output/complex/tea_python_tests/models/_complex_request_part.py +33 -0
  75. package/tests/output/complex/tea_python_tests/models/_response.py +33 -0
  76. package/tests/output/model/tea_python_tests/exceptions/__init__.py +11 -0
  77. package/tests/output/model/tea_python_tests/{exceptions.py → exceptions/_main_file.py} +1 -1
  78. package/tests/output/model/tea_python_tests/models/__init__.py +33 -0
  79. package/tests/output/model/tea_python_tests/models/_class.py +24 -0
  80. package/tests/output/model/tea_python_tests/models/_m.py +38 -0
  81. package/tests/output/model/tea_python_tests/models/_main_file_model.py +45 -0
  82. package/tests/output/model/tea_python_tests/models/_main_file_model_model.py +32 -0
  83. package/tests/output/model/tea_python_tests/models/_model.py +32 -0
  84. package/tests/output/model/tea_python_tests/models/_msub_m.py +26 -0
  85. package/tests/output/model/tea_python_tests/{models.py → models/_my_model.py} +16 -321
  86. package/tests/output/model/tea_python_tests/models/_my_model_model.py +45 -0
  87. package/tests/output/model/tea_python_tests/models/_my_model_model_model.py +32 -0
  88. package/tests/output/model/tea_python_tests/models/_my_model_subarraymodel.py +24 -0
  89. package/tests/output/model/tea_python_tests/models/_my_model_submodel.py +45 -0
  90. package/tests/output/model/tea_python_tests/models/_my_model_submodel_model.py +32 -0
  91. package/tests/output/multi/tea_python_tests/api.py +0 -2
  92. package/tests/output/multi/tea_python_tests/api_models/__init__.py +11 -0
  93. package/tests/{expected/python2/annotation/tea_python_tests/models.py → output/multi/tea_python_tests/api_models/_test_model_dir_2.py} +12 -11
  94. package/tests/output/multi/tea_python_tests/client.py +0 -2
  95. package/tests/output/multi/tea_python_tests/exceptions/__init__.py +13 -0
  96. package/tests/{expected/complex/tea_python_tests/exceptions.py → output/multi/tea_python_tests/exceptions/_err.py} +10 -11
  97. package/tests/output/multi/tea_python_tests/model/user_exceptions/__init__.py +15 -0
  98. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err.py +22 -0
  99. package/tests/output/multi/tea_python_tests/model/{user_exceptions.py → user_exceptions/_err_1.py} +3 -32
  100. package/tests/output/multi/tea_python_tests/model/user_exceptions/_err_2.py +18 -0
  101. package/tests/output/multi/tea_python_tests/model/user_models/__init__.py +13 -0
  102. package/tests/output/multi/tea_python_tests/model/user_models/_base_info.py +72 -0
  103. package/tests/output/multi/tea_python_tests/model/{user_models.py → user_models/_info.py} +3 -69
  104. package/tests/output/multi/tea_python_tests/models/__init__.py +13 -0
  105. package/tests/output/multi/tea_python_tests/models/_test_model_dir.py +79 -0
  106. package/tests/{expected/python2/model/tea_python_tests/client.py → output/typedef/tea_python_tests/models/__init__.py} +9 -3
  107. package/tests/{expected/typedef/tea_python_tests/models.py → output/typedef/tea_python_tests/models/_m.py} +1 -1
  108. package/tests/expected/comment/tea_python_tests/models.py +0 -195
  109. package/tests/expected/python2/alias/setup.py +0 -79
  110. package/tests/expected/python2/alias/tea_python_tests/client.py +0 -23
  111. package/tests/expected/python2/annotation/tea_python_tests/client.py +0 -54
  112. package/tests/expected/python2/api/tea_python_tests/client.py +0 -54
  113. package/tests/expected/python2/comment/tea_python_tests/client.py +0 -188
  114. package/tests/expected/python2/comment/tea_python_tests/models.py +0 -146
  115. package/tests/expected/python2/complex/tea_python_tests/client.py +0 -301
  116. package/tests/expected/python2/complex/tea_python_tests/models.py +0 -315
  117. package/tests/expected/python2/const/tea_python_tests/client.py +0 -14
  118. package/tests/expected/python2/empty/setup.py +0 -76
  119. package/tests/expected/python2/exec/tea_python_tests/exec_client.py +0 -16
  120. package/tests/expected/python2/function/tea_python_tests/client.py +0 -47
  121. package/tests/expected/python2/import/setup.py +0 -85
  122. package/tests/expected/python2/import/tea_python_tests/client.py +0 -24
  123. package/tests/expected/python2/map/tea_python_tests/client.py +0 -19
  124. package/tests/expected/python2/model/tea_python_tests/models.py +0 -575
  125. package/tests/expected/python2/statements/tea_python_tests/client.py +0 -64
  126. package/tests/expected/python2/super/tea_python_tests/client.py +0 -8
  127. package/tests/expected/python2/typedef/setup.py +0 -85
  128. package/tests/expected/python2/typedef/tea_python_tests/client.py +0 -38
  129. package/tests/expected/python2/typedef/tea_python_tests/models.py +0 -35
  130. package/tests/expected/python3/alias/setup.py +0 -77
  131. package/tests/expected/python3/alias/tea_python_tests/client.py +0 -32
  132. package/tests/expected/python3/annotation/tea_python_tests/client.py +0 -88
  133. package/tests/expected/python3/api/tea_python_tests/client.py +0 -92
  134. package/tests/expected/python3/comment/tea_python_tests/__init__.py +0 -1
  135. package/tests/expected/python3/comment/tea_python_tests/client.py +0 -319
  136. package/tests/expected/python3/comment/tea_python_tests/models.py +0 -163
  137. package/tests/expected/python3/complex/tea_python_tests/__init__.py +0 -1
  138. package/tests/expected/python3/complex/tea_python_tests/client.py +0 -514
  139. package/tests/expected/python3/complex/tea_python_tests/models.py +0 -349
  140. package/tests/expected/python3/const/tea_python_tests/__init__.py +0 -1
  141. package/tests/expected/python3/const/tea_python_tests/client.py +0 -9
  142. package/tests/expected/python3/empty/setup.py +0 -74
  143. package/tests/expected/python3/empty/tea_python_tests/__init__.py +0 -1
  144. package/tests/expected/python3/empty/tea_python_tests/client.py +0 -5
  145. package/tests/expected/python3/exec/tea_python_tests/__init__.py +0 -1
  146. package/tests/expected/python3/exec/tea_python_tests/exec_client.py +0 -20
  147. package/tests/expected/python3/function/tea_python_tests/__init__.py +0 -1
  148. package/tests/expected/python3/function/tea_python_tests/client.py +0 -67
  149. package/tests/expected/python3/import/setup.py +0 -77
  150. package/tests/expected/python3/import/tea_python_tests/__init__.py +0 -1
  151. package/tests/expected/python3/import/tea_python_tests/client.py +0 -28
  152. package/tests/expected/python3/map/tea_python_tests/__init__.py +0 -1
  153. package/tests/expected/python3/map/tea_python_tests/client.py +0 -22
  154. package/tests/expected/python3/model/tea_python_tests/__init__.py +0 -1
  155. package/tests/expected/python3/model/tea_python_tests/models.py +0 -631
  156. package/tests/expected/python3/statements/tea_python_tests/__init__.py +0 -1
  157. package/tests/expected/python3/statements/tea_python_tests/client.py +0 -83
  158. package/tests/expected/python3/super/tea_python_tests/__init__.py +0 -1
  159. package/tests/expected/python3/super/tea_python_tests/client.py +0 -13
  160. package/tests/expected/python3/typedef/setup.py +0 -77
  161. package/tests/expected/python3/typedef/tea_python_tests/__init__.py +0 -1
  162. package/tests/expected/python3/typedef/tea_python_tests/client.py +0 -72
  163. package/tests/expected/python3/typedef/tea_python_tests/models.py +0 -39
  164. package/tests/output/comment/tea_python_tests/models.py +0 -195
  165. /package/tests/expected/{python2/alias → multi}/tea_python_tests/__init__.py +0 -0
  166. /package/tests/{expected/python2/annotation → output/alias}/tea_python_tests/__init__.py +0 -0
  167. /package/tests/{expected/python2/api → output/annotation}/tea_python_tests/__init__.py +0 -0
  168. /package/tests/{expected/python2/comment → output/api}/tea_python_tests/__init__.py +0 -0
  169. /package/tests/{expected/python2/complex → output/builtin}/tea_python_tests/__init__.py +0 -0
  170. /package/tests/{expected/python2/const → output/comment}/tea_python_tests/__init__.py +0 -0
  171. /package/tests/{expected/python2/empty → output/complex}/tea_python_tests/__init__.py +0 -0
  172. /package/tests/{expected/python2/exec → output/const}/tea_python_tests/__init__.py +0 -0
  173. /package/tests/{expected/python2/function → output/empty}/tea_python_tests/__init__.py +0 -0
  174. /package/tests/{expected/python2/import → output/exec}/tea_python_tests/__init__.py +0 -0
  175. /package/tests/{expected/python2/map → output/function}/tea_python_tests/__init__.py +0 -0
  176. /package/tests/{expected/python2/model → output/import}/tea_python_tests/__init__.py +0 -0
  177. /package/tests/{expected/python2/statements → output/map}/tea_python_tests/__init__.py +0 -0
  178. /package/tests/{expected/python2/super → output/model}/tea_python_tests/__init__.py +0 -0
  179. /package/tests/{expected/python2/typedef → output/multi}/tea_python_tests/__init__.py +0 -0
  180. /package/tests/{expected/python3/alias → output/statements}/tea_python_tests/__init__.py +0 -0
  181. /package/tests/{expected/python3/annotation → output/super}/tea_python_tests/__init__.py +0 -0
  182. /package/tests/{expected/python3/api → output/typedef}/tea_python_tests/__init__.py +0 -0
@@ -0,0 +1,47 @@
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 typing import List, Dict
6
+
7
+
8
+ class ComplexRequestConfigs(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ key: str = None,
12
+ value: List[str] = None,
13
+ extra: Dict[str, str] = None,
14
+ ):
15
+ self.key = key
16
+ self.value = value
17
+ self.extra = extra
18
+
19
+ def validate(self):
20
+ self.validate_required(self.key, 'key')
21
+ self.validate_required(self.value, 'value')
22
+ self.validate_required(self.extra, 'extra')
23
+
24
+ def to_map(self):
25
+ _map = super().to_map()
26
+ if _map is not None:
27
+ return _map
28
+
29
+ result = dict()
30
+ if self.key is not None:
31
+ result['key'] = self.key
32
+ if self.value is not None:
33
+ result['value'] = self.value
34
+ if self.extra is not None:
35
+ result['extra'] = self.extra
36
+ return result
37
+
38
+ def from_map(self, m: dict = None):
39
+ m = m or dict()
40
+ if m.get('key') is not None:
41
+ self.key = m.get('key')
42
+ if m.get('value') is not None:
43
+ self.value = m.get('value')
44
+ if m.get('extra') is not None:
45
+ self.extra = m.get('extra')
46
+ return self
47
+
@@ -0,0 +1,42 @@
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 ComplexRequestHeader(DaraModel):
10
+ def __init__(
11
+ self, *,
12
+ content: str = None,
13
+ ):
14
+ # The ID of the security group to which you want to assign the instance. Instances in the same security group can communicate with each other. The maximum number of instances that a security group can contain depends on the type of the security group. For more information, see the "Security group limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html#SecurityGroupQuota).
15
+ #
16
+ # >Notice: The network type of the new instance must be the same as that of the security group specified by the `SecurityGroupId` parameter. For example, if the specified security group is of the VPC type, the new instance is also of the VPC type and you must specify `VSwitchId`.
17
+ #
18
+ # If you do not use `LaunchTemplateId` or `LaunchTemplateName` to specify a launch template, you must specify SecurityGroupId. Take note of the following items:
19
+ #
20
+ # * You can set `SecurityGroupId` to specify a single security group or set `SecurityGroupIds.N` to specify one or more security groups. However, you cannot specify both `SecurityGroupId` and `SecurityGroupIds.N`.
21
+ # * If `NetworkInterface.N.InstanceType` is set to `Primary`, you cannot specify `SecurityGroupId` or `SecurityGroupIds.N` but can specify `NetworkInterface.N.SecurityGroupId` or `NetworkInterface.N.SecurityGroupIds.N`.
22
+ self.content = content
23
+
24
+ def validate(self):
25
+ self.validate_required(self.content, 'content')
26
+
27
+ def to_map(self):
28
+ _map = super().to_map()
29
+ if _map is not None:
30
+ return _map
31
+
32
+ result = dict()
33
+ if self.content is not None:
34
+ result['Content'] = self.content
35
+ return result
36
+
37
+ def from_map(self, m: dict = None):
38
+ m = m or dict()
39
+ if m.get('Content') is not None:
40
+ self.content = m.get('Content')
41
+ return self
42
+
@@ -0,0 +1,33 @@
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 ComplexRequestPart(DaraModel):
8
+ def __init__(
9
+ self, *,
10
+ part_number: str = None,
11
+ ):
12
+ # PartNumber
13
+ self.part_number = part_number
14
+
15
+ def validate(self):
16
+ pass
17
+
18
+ def to_map(self):
19
+ _map = super().to_map()
20
+ if _map is not None:
21
+ return _map
22
+
23
+ result = dict()
24
+ if self.part_number is not None:
25
+ result['PartNumber'] = self.part_number
26
+ return result
27
+
28
+ def from_map(self, m: dict = None):
29
+ m = m or dict()
30
+ if m.get('PartNumber') is not None:
31
+ self.part_number = m.get('PartNumber')
32
+ return self
33
+
@@ -0,0 +1,33 @@
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 Response(DaraModel):
9
+ def __init__(
10
+ self, *,
11
+ instance: main_models.ComplexRequestPart = None,
12
+ ):
13
+ self.instance = instance
14
+
15
+ def validate(self):
16
+ self.validate_required(self.instance, 'instance')
17
+
18
+ def to_map(self):
19
+ _map = super().to_map()
20
+ if _map is not None:
21
+ return _map
22
+
23
+ result = dict()
24
+ if self.instance is not None:
25
+ result['instance'] = self.instance
26
+ return result
27
+
28
+ def from_map(self, m: dict = None):
29
+ m = m or dict()
30
+ if m.get('instance') is not None:
31
+ self.instance = m.get('instance')
32
+ return self
33
+
@@ -0,0 +1,11 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+
6
+
7
+ from ._main_file import MainFileException
8
+
9
+ __all__ = [
10
+ MainFileException
11
+ ]
@@ -8,7 +8,7 @@ from typing import Dict
8
8
 
9
9
  class MainFileException(DaraException):
10
10
  def __init__(
11
- self,
11
+ self, *,
12
12
  message: str = None,
13
13
  code: str = None,
14
14
  stack: str = None,
@@ -0,0 +1,33 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from __future__ import annotations
4
+
5
+
6
+
7
+ from ._msub_m import MSubM
8
+ from ._main_file_model_model import MainFileModelModel
9
+ from ._main_file_model import MainFileModel
10
+ from ._my_model_model_model import MyModelModelModel
11
+ from ._my_model_model import MyModelModel
12
+ from ._my_model_submodel_model import MyModelSubmodelModel
13
+ from ._my_model_submodel import MyModelSubmodel
14
+ from ._my_model_subarraymodel import MyModelSubarraymodel
15
+ from ._m import M
16
+ from ._class import Class
17
+ from ._model import Model
18
+ from ._my_model import MyModel
19
+
20
+ __all__ = [
21
+ MSubM,
22
+ MainFileModelModel,
23
+ MainFileModel,
24
+ MyModelModelModel,
25
+ MyModelModel,
26
+ MyModelSubmodelModel,
27
+ MyModelSubmodel,
28
+ MyModelSubarraymodel,
29
+ M,
30
+ Class,
31
+ Model,
32
+ MyModel
33
+ ]
@@ -0,0 +1,24 @@
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 Class(DaraModel):
8
+ def __init__(self):
9
+ pass
10
+ def validate(self):
11
+ pass
12
+
13
+ def to_map(self):
14
+ _map = super().to_map()
15
+ if _map is not None:
16
+ return _map
17
+
18
+ result = dict()
19
+ return result
20
+
21
+ def from_map(self, m: dict = None):
22
+ m = m or dict()
23
+ return self
24
+
@@ -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
+